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

时间:2016-08-29 20:32:43

标签: java wildfly-10

我已经浪费了最后几天在wildfly 10中出现奇怪的随机异常行为......我已经将我的Java 7 EE .war部署到了wildfly,但突然间我得到了这个异常并且部署失败了:

  

java.lang.ClassCastException:org.dom4j.DocumentFactory无法强制转换   到org.dom4j.DocumentFactory

3 个答案:

答案 0 :(得分:4)

解决方案是:编辑wildfly的standalone.xml,例如添加一些空格并保存文件。然后重新启动野生动物,你可以再次部署你的应用程序......这么简单 - 希望我可以帮助那里的任何人。

答案 1 :(得分:1)

在我的情况下,同样的问题正在发生。我也在使用wildfly 10和java 1.8版本。在阅读了许多解决方案之后,我从@goblingift评论和他粘贴的链接中发现了这个解决方案。

<强>解决方案:pom.xml我只是从我的hibernate依赖项中排除了 dom4j

<exclusion>
  <groupId>dom4j</groupId>
  <artifactId>dom4j</artifactId>
</exclusion>

因为我在我的pom.xml

中使用了这样的hibernate依赖
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>5.1.0.Final</version>
    <scope>compile</scope>
    <exclusions>
        <exclusion>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
        </exclusion>
        <exclusion>
           <groupId>org.jboss.logging</groupId>
           <artifactId>jboss-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>

https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html#Dependency_Exclusions

答案 2 :(得分:0)

实际问题是你在课程路径上得到两个不同的org.dom4j.DocumentFactory。可能的原因是您在WAR/lib目录

中包含了dom4j