1

嗨,我们在我的公司使用 websphere

websphere安装有两个耳朵ear1和ear2

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

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

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

  1. 为什么公司会有强制执行“单一类加载器”的政策?
  2. classnotfound 异常是否是因为在ear1 和ear2 中都定义了一个类的jar?
    例如 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 版)

提前致谢。

4

1 回答 1

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