使用Weblogic运行LinkageError

时间:2018-02-03 15:55:04

标签: java weblogic ws-security wss4j

我使用Apache CXF在Spring中引入了WS-Security的支持。应用程序在Weblogic 10.3.6上运行。

我们的build.gradle文件: -

    compile("org.springframework:spring-web:4.2.6.RELEASE")
    compile("org.springframework:spring-core:4.2.6.RELEASE")
    compile("org.springframework:spring-beans:4.2.6.RELEASE")
    compile("org.springframework:spring-jms:4.2.6.RELEASE")
    compile("org.springframework:spring-orm:4.2.6.RELEASE")
    compile("org.apache.cxf:cxf-rt-transports-http:3.1.6")
    compile("org.apache.cxf:cxf-rt-bindings-soap:3.1.6")
    compile("org.apache.cxf:cxf-rt-frontend-simple:3.1.6")
    compile("org.apache.cxf:cxf-rt-frontend-jaxws:3.1.6")
    compile("org.apache.cxf:cxf-rt-ws-addr:3.1.6")
    compile("org.hibernate:hibernate-core:5.1.0.Final")                     
    compile("commons-lang:commons-lang:2.6")
    compile("org.apache.ws.security:wss4j:1.6.10")
    compile("xalan:xalan:2.7.2")

在实施过程中,我遇到了以下错误: -

    java.lang.ClassNotFoundException: org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor

所以我介绍了以下依赖项来解决异常

compile("org.apache.cxf:cxf-rt-ws-security:3.1.6")

但是,重建和重新部署应用程序时遇到以下异常: -

    Caused By: java.lang.LinkageError: loader constraint violation: when resolving overridden method "com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Ljavax/xml/stream/XMLEventReader;)Ljava/lang/Object;" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the current class, com/sun/xml/bind/v2/runtime/unmarshaller/UnmarshallerImpl, and its superclass loader (instance of <bootloader>), have different Class objects for the type allerImpl.unmarshal(Ljavax/xml/stream/XMLEventReader;)Ljava/lang/Object; used in the signature

我认为这是一个ClassLoader问题,在UnmarshallerIml类中使用unmarshal()。

我很惊讶地介绍 编译( “org.apache.cxf:CXF-RT-的WS-Security:3.1.6”) 我遇到了这个例外。

我非常感谢有关此错误的原因和可能解决方案的任何建议。

提前感谢您的帮助。

皮特

0 个答案:

没有答案