在 JBOSS EAP 6(AS 7)中:
我正在调用 Spring 的 WebServiceTemplate.marshalSendAndRecieve 这反过来又难以找到 rt.jar 中存在的类
Caused by: java.lang.ClassNotFoundException: com.sun.org.apache.xerces.internal.dom.DocumentImpl
我不明白这是怎么发生的?肯定会在启动时加载 rt.jar 中的所有内容吗?
有什么想法吗?
谢谢,
肯尼
最佳答案
好的,我找到了一个解决方案(不确定它是否正确,但它有效)。
我通过运行 java -verbose:class 注意到只加载了 rt.jar 中的一些类,而不是我需要的类 (com.sun.org.apache.xerces.internal.dom.DocumentImpl)
所以在 JBoss EAP 6 (As 7) 中有一个模块目录 ($JBOSS_HOME/modules/) 并且在这下面有sun/jdk/main/modules.xml
我添加了以下条目:
<path name="com/sun/org/apache/xerces/internal/dom"/>
<path name="com/sun/org/apache/xerces/internal/xni"/>
<path name="com/sun/org/apache/xerces/internal/jaxp"/>
(最后2个是因为加入dom后后续类没有发现异常)
正如我所说,我不能 100% 确定这是否是执行此操作的正确方法。 欢迎任何意见!
谢谢,
肯尼
关于jboss7.x - 找不到 rt.jar 中的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15684993/