4

hibernateを使用してJboss4.3.2.GAにWebアプリケーションをデプロイしようとしていますが、次のエラーが発生します。

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>

しかし、私はまだ同じエラーがあります

4

2 に答える 2

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>
于 2011-07-30T10:40:04.513 に答える
1

短編小説。4.2.3ではHibernateの依存関係とEJBJARの間に干渉があるため、JBoss 4.2.3で最新のHibernateバージョン(3.5以降)を使用することはできません。3つの選択肢があります。

  • 4.2.3に同梱され、EJBJARに干渉しないHibernateを使用します
  • Hibernateを持たない以前のバージョンのJBossを使用する(4.0.2など)
  • 新しいバージョンのHibernateを含む新しいバージョンのJBossを使用する
于 2011-07-29T18:27:24.553 に答える