From a5430d8a0c8367c5c0646da6b78374295bd33737 Mon Sep 17 00:00:00 2001 From: Pei-Tang Huang Date: Mon, 27 Jul 2015 17:29:45 +0800 Subject: [PATCH] Catch more general Hibernate 4.2 LinkageError Update HibernateJpaAutoConfiguration to catch LinkageError rather than NoClassDefFoundError. Required due to the fact that JBoss EAP 6 wraps NoClassDefFoundErrors. Fixes gh-3605 --- .../autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.java index a53a66c545..ca6b64f8bc 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.java @@ -147,8 +147,9 @@ public class HibernateJpaAutoConfiguration extends JpaBaseConfiguration { vendorProperties.put(JTA_PLATFORM, new SpringJtaPlatform( jtaTransactionManager)); } - catch (NoClassDefFoundError ex) { - // Can happen if Hibernate 4.2 is used + catch (LinkageError ex) { + // NoClassDefFoundError can happen if Hibernate 4.2 is used and some + // containers (e.g. JBoss EAP 6) wraps it in the superclass LinkageError if (!isUsingJndi()) { throw new IllegalStateException("Unable to set Hibernate JTA " + "platform, are you using the correct "