Я развертываю свое приложение на нескольких серверах приложений, одним из которых является Wildfly 11.0.0.Final.Я использую JPA без прямых зависимостей от Hibernate (только JPA API).У меня есть файл persistence.xml, в котором есть определение источника данных.
При попытке запустить это приложение я получаю следующее исключение при анализе файла persistence.xml:
org.dom4j.DocumentFactory не может быть приведен к org.dom4j.DocumentFactory
Я проверил, и, похоже, у меня есть одна зависимость, которая имеет зависимость от org.dom4j с версией 2.0.1.Я вижу в модулях JBoss, что модуль Hibernate зависит от org.dom4j:
<dependencies>
<module name="com.fasterxml.classmate"/>
<module name="javax.api"/>
<module name="javax.annotation.api"/>
<module name="javax.enterprise.api"/>
<module name="javax.persistence.api"/>
<module name="javax.transaction.api"/>
<module name="javax.validation.api"/>
<module name="javax.xml.bind.api"/>
<module name="org.antlr"/>
<module name="org.dom4j"/>
<module name="org.javassist" export="true"/>
<module name="org.jboss.as.jpa.spi"/>
<module name="org.jboss.jandex"/>
<module name="org.jboss.logging"/>
<module name="org.jboss.vfs"/>
<module name="org.hibernate.commons-annotations"/>
<module name="org.hibernate.infinispan" services="import" optional="true"/>
<module name="org.hibernate.jipijapa-hibernate5" services="import"/>
</dependencies>
Однако он использует модуль dom4j, который определен в самом JBoss, и там версия 1.6.1.Я понимаю, что две разные версии могут вызывать проблемы.
Мои вопросы:
Можно ли решить эту проблему, удалив зависимость от JBoss dom4j (версия 1.6.1)?Я уже пробовал с jboss-deploy-structure, но это не помогло:
Это работает на JBoss EAP 7.1, но не на Wildfly 11.0.0.Final.В чем может быть причина?