「HibernateをJAX-RSのリファレンス実装と組み合わせることはできない」ことがわかりました。リンクhttp://lists.jboss.org/pipermail/hibernate-issues/2009-May/015628.html
だから私はJAX-RS(ジャージ)を休止状態と組み合わせることができません、誰かがこれの回避策を知っていますか?
「HibernateをJAX-RSのリファレンス実装と組み合わせることはできない」ことがわかりました。リンクhttp://lists.jboss.org/pipermail/hibernate-issues/2009-May/015628.html
だから私はJAX-RS(ジャージ)を休止状態と組み合わせることができません、誰かがこれの回避策を知っていますか?
悪の根源はcglibです。cglib-2.1.3.jarをcglib-nodep-2.1_3.jarに置き換え、hibernateのasm*.jarファイルを削除します。
Jersey ( Java RESTフレームワーク) を Hibernate と組み合わせて使用するには、Maven のpom.xmlファイルを微調整する必要があります。問題は、 Hibernate がJerseyで使用されるASM 1.5.3
ものと互換性がないものを使用することです。ASM 3.1
あなたがする必要があるのは、いくつかの推移的な依存関係をHibernateから除外することです:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.6.ga</version>
<exclusions>
<exclusion>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
</exclusion>
<exclusion>
<groupId>asm</groupId>
<artifactId>asm-attrs</artifactId>
</exclusion>
<exclusion>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
</exclusion>
</exclusions>
</dependency>
次に、正しいバージョンの ASM を含める必要があります。
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>3.1</version>
</dependency>
最後に、ASM バージョン 1.5.3 からクラスを再パッケージ化する CGLib の nodep バージョンを含める必要があります。
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.1_3</version>
</dependency>
ソース: http://blog.idm.fr/2009/04/jersey-hibernate-conflict.html
解決策: ASM 3.1 と HIbernate および JAX-RS の互換性の問題
次の jar を削除します。
1 asm-attrs.jar
2 asm.jar
3 cglib-2.1.3.jar
以下のjarを追加します
1 asm-3.1.jar
2 cglib-nodep-2.1_3.jar