嗨,我们在我的公司使用 websphere
websphere安装有两个耳朵ear1和ear2
我们有一个单一类加载器的策略
当设置为 singleclassloader 时,我们从 ear2 spring-oxm3.1.0.RELEASE.jar org.springframework.oxm.MarshallingFailureException 找不到类未找到异常
但是通过启用“多个类加载器”,问题就消失了。
- 为什么公司会有强制执行“单一类加载器”的政策?
- 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 版)
提前致谢。