JBoss 5.1 で Hibernate 3.4 を使用すると、いくつかの問題に遭遇しました。Hibernate 3.4 は JPA 1.0 の実装であるため、JBoss 5.1 で使用しても問題ありません。JBoss には独自のバージョンの Hibernate があり、これは /common/lib にありますが、JBoss が提供するバージョンは使用したくありません。私がしたことは、そのフォルダーから hibernate-annotations.jar、hibernate-commons-annotations.jar、hibernate-core.jar、hibernate-entitymanager.jar、hibernate-jmx.jar、および hibernate-validator.jar を削除して、私のHibernate 3.4 jarをserver/default/libディレクトリに入れます。また、hibernate-validator.jar 3.1.0 を war ファイルにコンパイルしました。そうしないと、JBoss がバリデーターの場所を認識できないようです。上記のすべてを行った後、war ファイルをパッケージ化し、それを deploy フォルダーにデプロイしました。
サーバーは問題なく起動しました。しかし、Web アプリケーションにアクセスしようとすると、エラーがスローされます。
JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:662) 原因: org.springframework.beans.factory.BeanCreationException: 'org.springframework. validation.beanvalidation.LocalValidatorFactoryBean#0': init メソッドの呼び出しに失敗しました。ネストされた例外は javax.validation.ValidationException: Unable to find the default provider at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1412) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean です(AbstractAutowireCapableBeanFactory.java:519) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) で org.
まだバリデータが見つからないようです。しかし、それはすでにwarファイルにあります。Jetty サーバーで Web アプリをテストしたところ、問題なく動作しました。JBoss 設定で何が間違っていますか?