天天看点

CXF:java.lang.AbstractMethodError:org.apache.xerces.dom.ElementNSImpl.setUserData

前言:

      在一个JavaWeb项目中,要接入WebService时,使用CXF,但是接入的时候出现异常:

java.lang.AbstractMethodError: org.apache.xerces.dom.ElementNSImpl.setUserData(Ljava/lang/String;Ljava/lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/Object;
	at org.apache.cxf.staxutils.StaxUtils.addLocation(StaxUtils.java:1133)
	at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:1021)
	at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:994)
	at org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:921)
	at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:231)
           

解决过程:

      根据网上查找的答案,是因为xerces-2.6.2.jar这个jar包冲突,将xerces升级到2.8以上版本就不会有这个问题。

      1、将xerces-2.6.2.jar从项目中删除。

CXF:java.lang.AbstractMethodError:org.apache.xerces.dom.ElementNSImpl.setUserData

      2、因为本项目是maven项目,直接在pom.xml中添加2.8版本的xerces依赖

<dependency>
     <groupId>xerces</groupId>		
     <artifactId>xercesImpl</artifactId>		
     <version>2.8.0</version>		
</dependency>
           

      3、重新运行项目,异常解决成功!

继续阅读