【问题标题】:websphere multiple classloaders fixes class not found exceptionwebsphere 多个类加载器修复类未找到异常
【发布时间】:2023-10-25 15:38:01
【问题描述】:

您好,我们在我的公司使用 websphere

websphere 安装有两个耳朵ear1 和ear2

我们有一个单一类加载器的政策

当设置为 singleclassloader 时,我们从 ear2 得到一个类未找到异常 spring-oxm3.1.0.RELEASE.jar org.springframework.oxm.MarshallingFailureException 类未找到

但是通过启用“多个类加载器”,问题就消失了。

  1. 为什么公司会有强制执行“单一类加载器”的政策?
  2. 是不是classnotfound异常是因为一个类在两者中都定义了一个jar 耳朵 1 和耳朵 2?
    例如 ear1:jar1 和 ear2:spring-oxm3.1.0.RELEASE.jar X 是从 ear1:jar1 加载的,因此 spring-oxm3.1.0.RELEASE.jar 没有加载?当请求运行时它失败并抱怨没有找到 MarshallingFailureException?

这能解释为什么找不到类吗?

那么,找到导致 spring-oxm3.1.0.Release.jar 无法加载的 ear1 中的 jar 是什么的解决方案是什么?并删除它? 会是 xerces 还是 jaxb? (我们正在运行 java 1.5 版)

提前致谢。

【问题讨论】:

    标签: websphere classloader classnotfound


    【解决方案1】:
    • 在那个旧版本的 Java 中,所有与 XML 相关的 jar 都有很多问题。
    • 您的错误详细信息将告诉您为什么没有加载该类。最有可能的是,它是一个具有相同包/名称但在不同 jar 中的类
    • 公司政策与所涉及的所有因素有关 - 开发、维护、依赖管理等。

    【讨论】:

      最近更新 更多