【问题标题】:Weblogic classloader issueWeblogic 类加载器问题
【发布时间】:2020-07-23 03:31:33
【问题描述】:

我的 Weblogic 类加载器有问题。

当我尝试在 WL 12.2.1.2.0 上部署我的应用程序时,它失败了。 在我服务器上的日志中,我看到了

java.lang.ClassNotFoundException: org.w3c.dom.ElementTraversal

该类属于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 类的信息了。

但是有一个新问题: java.lang.ClassNotFoundException: org.w3c.dom.Document

经过分析,我发现org.w3c.dom.Document 类来自 JRE(jre/lib/rt.jar)。 所以在部署描述符中我说过:

“如果我需要来自 org.w3c.dom.* 包的东西 - 请从我的应用程序分发中加载它”。而现在有这样的不一致。

我有使用 WL 类加载器分析工具 (CAT) 的想法,但由于部署失败,这是不可能的。

从我的耳朵中排除 xml-apisxerces 库,我们提到 here 并没有帮助我。

有人知道如何解决我的问题吗?

提前感谢您的回答。

【问题讨论】:

    标签: java weblogic classloader


    【解决方案1】:

    从我的 EAR 中排除 xercexImpl 库而不更改部署描述符解决了我的问题。新部署期间提到的类是从 WL 分发中加载的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      • 2011-12-05
      • 1970-01-01
      相关资源
      最近更新 更多