Я искал решение этой проблемы без успеха.Использование JPA 2.1 в EAP 6.4.0
Мы переносим наши приложения на EAP 6.4.0, и наши приложения основываются на JPA 2.1. Однако JBoss является сервером Java EE 6 и поэтому включает JPA 2.0 в виде модуля.
Я попытался включить JPA API jar прямо в мой каталог WEB-INF/lib, думая, что загрузчик классов предпочтет это над одним из системы.
Я попытался включить файл jboss-deployment-structure.xml в ухо. Я попробовал это под ухом/META-INF, ухом/войной/META-INF, а также ухом/войной/WEB-INF.
В файле JBoss развертывания-structure.xml, я пытался: исключить модуль javax.persistence.api создать свой собственный модуль с JPA 2.1 и добавить зависимость к нему исключает JPA подсистему
Я также попытался установить атрибут export в false в файле javax.persistence.api module.xml, расположенном под jboss-eap-6.4.0 \ modules \ system \ layers \ base \ javax \ persistence \ api \ main
Я попытался удалить подсистему jpa из файла standalone.xml.
Все это привело к использованию банок JPA 2.0.
Единственный способ, с помощью которого я работал, состоял в том, чтобы заменить фактическую банку в каталоге модуля (jboss-eap-6.4.0 \ modules \ system \ layers \ base \ javax \ persistence \ api \ main). Но это не приемлемое решение, поскольку другим приложениям или службам на сервере может понадобиться старая версия API.
Есть ли способ сделать это правильно (без перехода на другой сервер или смены кода)?
это решение работает на JBoss еар 6.4, спасибо! –