JavaToWS错误:java.lang.AbstractMethodError从类生成Web服务

时间:2018-02-27 13:59:04

标签: java web-services cxf java2wsdl

我正在尝试使用Eclipse Oxigen从Java类生成wsdl文件 (右键单击类 - > WebService - >创建Web服务),Java 8u152运行时和Tomcat 7。

使用以下设置:

  • Web服务类型:自下而上的Java Bean Web服务
  • 实施:我的具体课程
  • 滑块:开发服务
  • 运行时:CXF 2.x
  • SEI:我的界面课

我使用CXF 3.2.2 jar为Eclipse提供了食物(2.2.9和2.3.1也是如此)。

我收到以下错误:

JavaToWS Error: java.lang.AbstractMethodError: javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V

java.lang.AbstractMethodError: javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V
    at org.apache.cxf.helpers.DOMUtils.getDocumentBuilder(DOMUtils.java:108)
    at org.apache.cxf.helpers.DOMUtils.createDocument(DOMUtils.java:148)
    at org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:1181)
    at org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:1178)
    at org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:1139)
    at org.apache.cxf.tools.common.dom.ExtendedDocumentBuilder.parse(ExtendedDocumentBuilder.java:100)
    at org.apache.cxf.tools.common.toolspec.ToolSpec.<init>(ToolSpec.java:73)
    at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:87)
    at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:58)
    at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:40)
    at org.apache.cxf.tools.java2ws.JavaToWS.run(JavaToWS.java:78)
    at org.apache.cxf.tools.java2ws.JavaToWS.main(JavaToWS.java:46)

除了不需要的cxf-beans.xml之外,它不会生成任何内容。

我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

在我的情况下,问题是由包含在类路径中的xerces jar引起的。我在pom.xml的依赖关系层次结构中进行了搜索,并删除了xerces jar的工件。

<exclusion>
       <groupId>batik</groupId>
       <artifactId>xerces</artifactId>
 </exclusion>

答案 1 :(得分:0)

类路径上的“ xml-apis”或“ xmlParserAPIs”可能存在问题

您要验证其版本为javax.xml.parsers.DocumentBuilderFactory.setFeature(String )

例如,第一个在xml-apis中带有方法的版本是1.4.01