无法将Wildfly org.dom4j.DocumentFactory强制转换为org.dom4j.DocumentFactory

时间:2018-10-25 15:39:28

标签: java-ee jboss wildfly application-server

我正在将应用程序部署在少数应用程序服务器上,其中之一是Wildfly 11.0.0.Final。我使用的JPA没有对Hibernate的直接依赖(只是JPA api)。我有一个persistence.xml文件,其中包含数据源的定义。

当我尝试运行此应用程序时,在解析persistence.xml文件时遇到以下异常:

  

org.dom4j.DocumentFactory无法转换为org.dom4j.DocumentFactory

我检查了一下,看来我有一个依赖关系,该依赖关系对版本为2.0.1的org.dom4j具有依赖关系。我在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-deployment-structure,但是没有帮助:

        

  2. 它适用于JBoss EAP 7.1,但不适用于Wildfly 11.0.0.Final。可能是什么原因?

0 个答案:

没有答案