转weblogic 发布CXF问题
Posted tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转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里。删除后两个jar,我的cxf就能正常运行了。
转自http://buyaozaibeidaole.iteye.com/blog/1672425
补充:如果程序启动时报与上面类似的错误,但类是javax/xml/namespace/QName,只需要删除jaxrpc.jar中的QName类就可以了
以上是关于转weblogic 发布CXF问题的主要内容,如果未能解决你的问题,请参考以下文章
weblogic 整合cxf 报错:cannot create a secure XmlInputFactory
在weblogic 12c中部署的cxf soap客户端webservices
WebLogic在SpringBoot CXF应用程序中使用@WebParam部署异常
在weblogic中部署CXF-webservice调用提示错误:Cannot create a secure XMLInputFactory
Weblogic10.3.6部署解决CXF webService 调用报错: “Cannot create a secure XMLInputFactory”