У меня проблема в моем проекте. Мы используем JBoss7.1.1 и хотим использовать envers версии 4.1. Envers в версии 4.1 требует Hibernate в версии 4.1. К сожалению, jboss 7.1.1 содержит старые модули hibernate и Envers.
У меня есть 2 варианта:
Изменить модули в JBoss (поставить туда новые оболочки и перевести в спящий режим). Проблема в том, что каждый jboss, который будет запускать это приложение, должен быть «настроен» для этого проекта (немного болезненно).
Or:
Исключите модули 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>
Я изменил зависимости в 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)
Любые идеи о том, как это исправить?