我在我的項目中遇到問題。我們使用的是JBoss7.1.1,我們想在4.1版本中使用envers。版本4.1中的Envers需要4.1版本的Hibernate。不幸的是,jboss 7.1.1包含較老的休眠和Envers模塊。如何用hibernate 4.1和Envers 4.1來配置JBoss 7.1.1?
我有兩個選擇:
在JBoss中更換模塊(放在那裏新envers &休眠)。問題是每個運行這個應用程序的jboss都必須爲該項目「調整」(有點痛苦)。
或者:
排除JBoss的模塊,並使用庫從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>
我已經改變依賴於從行家提供的編譯,它應該工作,右: 我用排除的模塊?
但現在我得到這個異常:
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)
關於如何解決它的任何想法?