Попробуйте развернуть веб-приложение, используя последнюю версию hibernate для jboss4.2.3.GA. - PullRequest
4 голосов
/ 28 июля 2011

Я пытаюсь развернуть веб-приложение, используя hibernate, для 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)

У меня есть файл "jboss-web.xml" в / WEB-INF как

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
    <loader-repository>
    <loader-repository-config>
    java2ParentDelegation=false
    </loader-repository-config>
    </loader-repository> 
 </jboss-web>

, но у меня все та же ошибка

Ответы [ 2 ]

3 голосов
/ 30 июля 2011

Я добавил следующие зависимости, и моя проблема решена.Благодаря ребятам из 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 голос
/ 29 июля 2011

Короче говоря.Вы не можете использовать последнюю версию Hibernate (3.5+) с JBoss 4.2.3, так как есть помехи между зависимостями Hibernate и EJB JAR в 4.2.3.У вас есть 3 варианта:

  • Используйте Hibernate, который поставляется с 4.2.3 и не мешает EJB JAR
  • Используйте более раннюю версию JBoss, в которой нет Hibernate(как 4.0.2)
  • Используйте более позднюю версию JBoss, которая имеет более новую версию Hibernate
...