We are using JBoss 4.2.3 which in turn comes with version 3.2.1.ga of Hibernate. I would like to use Hibernate 3.5.1-FINAL which supports JPA 2.0. I've been trying to make this work by putting my own hibernate jars in my WEB-INF/lib folder and creating my own classloader for my WAR in jboss-web.xml
<jboss-web>
<loader-repository>
com.moo.foo:archive=catalog-archive
</loader-repository>
</jboss-web>
I've also tried:
<jboss-web>
<class-loading java2ClassLoadingCompliance="false">
<loader-repository>
com.moo.catalog:loader=catalogLoader
<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
</loader-repository>
</class-loading>
</jboss-web>
But I get loads of various issues and this is the exception I'm currently stuck on:
Caused by: java.lang.NoSuchMethodException: org.hibernate.validator.ClassValidator.<init>(java.lang.Class, java.util.ResourceBundle, org.hibernate.validator.MessageInterpolator, java.util.Map, org.hibernate.annotations.common.reflection.ReflectionManager)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.getDeclaredConstructor(Unknown Source)
at org.hibernate.cfg.AnnotationConfiguration.applyHibernateValidatorLegacyConstraintsOnDDL(AnnotationConfiguration.java:443)
Since the deadline is looming I thought I'd better ask if it is even possible? :)
I didn't test this personally, but the following thread mentions two approaches that you could try (yeah, I know, it's about JBoss 5 but it looks like the problem is identical).
Option 1
Disable
java2ParentDelegation
(your second jboss-web.xml), bundle your Hibernate JARs into your app and add the following properties to yourpersistence.xml
(to "avoid" the issue you're facing):One user reported this didn't work for him.
Option 2
Disable
java2ParentDelegation
(your second jboss-web.xml), bundle your Hibernate JARs into your app and override the hibernate-validator JARs incommon/lib
.I'm not able to explain why the hibernate-validator from
commons/lib
still gets picked.Maybe too late, but it may help somebody that finds this thread looking for the problem described above about 'Caused by: java.lang.NoSuchMethodException: org.hibernate.validator.ClassValidator....':
I'm using Jboss 4.2, Hibernate Core 3.6.5, Hibernate Validator 4.1.0, using maven, and I have the same problem. Finally I've solved it adding also this dependency: