プロジェクトで問題が発生しています。JBoss7.1.1 を使用しており、バージョン 4.1 の envers を使用したいと考えています。バージョン 4.1 の Envers には、バージョン 4.1 の Hibernate が必要です。残念ながら、jboss 7.1.1 には古い hibernate および Envers モジュールが含まれています。
2 つのオプションがあります。
JBoss のモジュールを変更します (新しい envers と hibernate を配置します)。問題は、このアプリケーションを実行するすべての jboss をそのプロジェクトに合わせて「調整」する必要があることです (少し面倒です)。
または:
JBoss モジュールを除外し、WAR 内の WEB-INF/lib からライブラリを使用します。以下を使用してモジュールを除外しました。
<jboss-deployment-structure>
<ear-subdeployments-isolated>true</ear-subdeployments-isolated>
<deployment>
<!-- Exclusions allow you to prevent the server from automatically adding some dependencies -->
<exclusions>
<module name="org.hibernate"/>
<module name="org.hibernate.envers"/>
</exclusions>
</deployment>
</jboss-deployment-structure>
Mavenの依存関係を提供からコンパイルに変更しましたが、動作するはずですよね?
しかし今、私はこの例外を受けています:
Caused by: java.lang.IllegalArgumentException: interface org.hibernate.annotations.Columns is not visible from class loader
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:353) [classes.jar:1.6.0_35]
at org.hibernate.annotations.common.annotationfactory.AnnotationFactory.create(AnnotationFactory.java:46)
at org.hibernate.cfg.annotations.reflection.JPAOverridenAnnotationReader.buildColumns(JPAOverridenAnnotationReader.java:1383)
それを修正する方法についてのアイデアはありますか?