[英]Weblogic classloader issue
我对 Weblogic 类加载器有疑问。
当我尝试在 WL 12.2.1.2.0 上部署我的应用程序时,它失败了。 在我的服务器上的日志中,我看到
java.lang.ClassNotFoundException: org.w3c.dom.ElementTraversal
class 属于xml-apis
库。 该库以另一个依赖项(例如传递依赖项)进入我的应用程序。 xml-apis
的版本是 1.4.01。
之后,我在部署描述符中添加了异常:
<container-descriptor>
<prefer-application-packages>
<package-name>org.w3c.dom.*</package-name>
</prefer-application-packages>
</container-descriptor>
后来又进行了新的部署。 描述的org.w3c.dom.ElementTraversal
问题已解决。 没有任何关于缺少org.w3c.dom.ElementTraversal
class 的信息了。
但是有一个新问题: java.lang.ClassNotFoundException: org.w3c.dom.Document
经过分析,我发现org.w3c.dom.Document
class 来自 JRE(jre/lib/rt.jar)。 所以在部署描述符中我说过:
“如果我需要来自org.w3c.dom.*
package - 请从我的应用程序分发中加载它”。 而现在有这样的不一致。
我有使用 WL 类加载器分析工具(CAT)的想法,但这是不可能的,因为部署失败。
我们在这里提到的从我的耳朵中排除xml-apis
和xerces
库对我没有帮助。
有人知道如何解决我的问题吗?
提前感谢您的回答。
在不更改部署描述符的情况下从我的 EAR 中排除xercexImpl
库解决了我的问题。 新部署期间提到的类是从 WL 分发中加载的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.