weblogic 发布CXF问题

阅读更多
之前在项目中遇见一个问题就是发布CXF到weblogic中遇见一个问题

java.lang.LinkageError: loader constraints violated when linking org/w3c/dom/UserDataHandler class
at org.apache.cxf.staxutils.StaxUtils.addLocation(StaxUtils.java:984)
at org.apache.cxf.staxutils.StaxUtils.startElement(StaxUtils.java:842)
at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:911)
at org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:798)
at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:219)
Truncated. see log file for complete stacktrace
>

这个异常在网上很少找到,连google也很难搜索到,最后解决得知是依赖包冲突了

具体解决方法:
类A依赖于类B,但是类A在编译时、加载时使用了两个不同的类B的class,就会出现这个异常。也就是说,这个异常通常指示着jar包冲突。比如,cxf发布到weblogic下时,可能出现:
java.lang.LinkageError: loader constraints violated when linking org/w3c/dom/UserDataHandler class
这个org/w3c/dom/UserDataHandler class至少在三个jar包中:jdk的rt.jar,jaxen.jar,和xmlbeans.jar里。去掉后两个,我的cxf就能正常运行了。

你可能感兴趣的:(weblogic,cxf,LinkageError,see,log,file,for,complete,stacktrace)