ClassCastException:org.dom4j.DocumentFactory 不能强制转换为 WildFly



我正在经历

java.lang.ClassCastException: org.dom4j.DocumentFactory cannot be cast to org.dom4j.DocumentFactory

在部署到 WildFly 13.0.0.Final 期间,使用我在指定的 Payara 4.1.2.181 和 5.181 上部署良好的应用程序

<class-loader delegate="false"/>

WEB-INF/glassfish-web.xml.我假设类转换异常是由类加载问题引起的(因为不同类加载器加载的两个相等的类被认为是不相同的(,这是<class-loader delegate="false"/>避免的,所以我假设为 WildFly 指定等效项是 KISS 解决方案。

关于在不同的Java EE服务器中(分层(使用类加载器有很多术语(因为它不是由Java EE指定的(,我开始阅读WildFly的概念,但是我将用GlassFish/Payara术语表达我正在寻找的内容:避免类加载委派,并首先从部署的WAR中获取依赖项/搜索和加载类。

JBoss 论坛中关于 GlassFish 未发生的类转换异常的臃肿线程提供了一个不适用于我的应用程序的解决方案。

有趣的是,甚至不排除提供org.dom4j.DocumentFactory的所有传递依赖项,这使得应用程序在Java EE服务器之间实际上不可移植,这很有帮助。

我需要分析您的类路径才能确定,但是当我部署一个包含与 wildfly 中包含的休眠版本不同的应用程序时,我遇到了类似的错误。如果您使用的是休眠,那么这是开始调查的好点。如果没有,请检查其他一些(传递(依赖项是否与 WildFly 中包含的内容冲突。

相关内容

  • 没有找到相关文章

最新更新