Wildfly org.dom4j.DocumentFactory не может быть приведен к org.dom4j.DocumentFactory - PullRequest
0 голосов
/ 25 октября 2018

Я развертываю свое приложение на нескольких серверах приложений, одним из которых является 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.Я понимаю, что две разные версии могут вызывать проблемы.

Мои вопросы:

  1. Можно ли решить эту проблему, удалив зависимость от JBoss dom4j (версия 1.6.1)?Я уже пробовал с jboss-deploy-structure, но это не помогло:

  2. Это работает на JBoss EAP 7.1, но не на Wildfly 11.0.0.Final.В чем может быть причина?

...