我正在尝试使用hibernate将Web应用程序部署到Jboss 4.3.2.GA,但我收到以下错误。
Invocation of init method failed; nested exception is
org.hibernate.AnnotationException:
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)
我在/ WEB-INF中有一个“jboss-web.xml” 如
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<loader-repository>
<loader-repository-config>
java2ParentDelegation=false
</loader-repository-config>
</loader-repository>
</jboss-web>
但我仍然有同样的错误
答案 0 :(得分:3)
我添加了以下依赖项,我的问题解决了。感谢Hibernate的人,他们为我们提供了一个传统的验证器。
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator-legacy</artifactId>
<version>4.0.2.GA</version>
<exclusions>
<exclusion>
<artifactId>hibernate-commons-annotations</artifactId>
<groupId>org.hibernate</groupId>
</exclusion>
</exclusions>
</dependency>
答案 1 :(得分:1)
长话短说。你不能在JBoss 4.2.3中使用最新的Hibernate版本(3.5+),因为4.2.3中的Hibernate依赖项和EJB JAR之间存在干扰。你有3个选择: