websphere multiple ClassLoader修复了“找不到类”异常

websphere multiple ClassLoader修复了“找不到类”异常,websphere,classloader,classnotfound,Websphere,Classloader,Classnotfound,大家好,我们公司使用websphere websphere安装有两个ear1和ear2 我们有一个单类加载器的策略 当设置为singleclassloader时,我们从ear2获得一个类未找到异常 spring-oxm3.1.0.RELEASE.jar 找不到org.springframework.oxm.MarshallingFailureException类 但是通过启用“多类加载器”,问题就消失了 为什么公司会有强制执行“单一类加载器”的政策 classnotfound异常是因为在这两个类

大家好,我们公司使用websphere

websphere安装有两个ear1和ear2

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

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

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

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

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

    提前感谢。

    • 在旧版本的Java中,所有与XML相关的JAR都有许多问题
    • 错误详细信息将告诉您未加载该类的原因。最有可能的是,它是一个具有相同包/名称但位于不同jar中的类
    • 公司的政策与所有相关因素有关——开发、维护、依赖关系管理等等