【问题标题】:Websphere 8.5: Can't find classes even those classes are in lib folderWebsphere 8.5:即使这些类在 lib 文件夹中也找不到类
【发布时间】:2015-05-06 08:23:00
【问题描述】:

我在 websphere 8.5 中使用 spring/wss4j 来实现 web 服务安全。 Wss4j 需要 xmlsec.jar,我在 WEB-INF/lib/xmlsec-2.0.4.jar 下包含了 xmlsec.jar。但是 websphere 类加载器找不到 DOMXMLSignatureFactory。

Caused by: java.lang.ClassNotFoundException: org.apache.jcp.xml.dsig.internal.dom.DOMXMLSignatureFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:599) ~[na:1.7.0]
at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:204) ~[bootstrap.jar:WAS855.SERV1 [cf011339.02]]
at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:760) ~[na:1.7.0]
at java.lang.ClassLoader.loadClass(ClassLoader.java:737) ~[na:1.7.0]
at com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:119) ~[bootstrap.jar:WAS855.SERV1 [cf011339.02]]
at java.lang.ClassLoader.loadClass(ClassLoader.java:707) ~[na:1.7.0]
at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:62) ~[com.ibm.ws.runtime.jar:WAS855.SERV1 [cf011339.02]]
at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:58) ~[com.ibm.ws.runtime.jar:WAS855.SERV1 [cf011339.02]]
at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:616) ~[com.ibm.ws.runtime.jar:WAS855.SERV1 [cf011339.02]]
at java.lang.ClassLoader.loadClass(ClassLoader.java:707) ~[na:1.7.0]
at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:616) ~[com.ibm.ws.runtime.jar:WAS855.SERV1 [cf011339.02]]
at java.lang.ClassLoader.loadClass(ClassLoader.java:707) ~[na:1.7.0]
at javax.xml.crypto.dsig.XMLDSigSecurity.doGetImpl(XMLDSigSecurity.java:181) ~[na:na]
... 98 common frames omitted

我正在为 APPLICATION 和 MODULE 设置 PARENT_LAST。 Xmlsec-2.0.4.jar 显示在“类加载器查看器”下。我检查了我所有的库,没有重复的 DOMXMLSignatureFactory 类。谁能帮帮我!

【问题讨论】:

标签: spring websphere wss4j xmlsec


【解决方案1】:

将 xmlsec.jar 添加为独立的共享库并将其与您的应用程序关联可能会更成功。

【讨论】:

    【解决方案2】:

    问题的根本原因是旧版本的 xmlsec jar 有 javax 类。我们使用了 xmlsec-2.0.0 jar 并且它有效。 我们从 Santuario xmlsec jar 问题https://issues.apache.org/jira/browse/SANTUARIO-358 中得到了提示。我还注意到最新的 CXF 版本 3.1.6 包含 xmlsec-2.0.6.jar 不包含 javax 包,这是解决这个问题的真正方法。

    请使用最新的 cxf 包 (>3.0)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-13
      • 2015-10-26
      • 1970-01-01
      • 2022-07-12
      • 2011-11-20
      • 2019-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多