【问题标题】:JavaToWS Error: java.lang.AbstractMethodError generating a webservice from classesJavaToWS 错误:java.lang.AbstractMethodError 从类生成 web 服务
【发布时间】:2018-02-27 13:59:04
【问题描述】:

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

使用以下设置:

  • Web 服务类型:自底向上 Java Bean Web 服务服务
  • 实现:我的具体类
  • 滑块:开发服务
  • 运行时:CXF 2.x
  • SEI:我的接口类

我已经为 Eclipse 提供了 CXF 3.2.2 jar(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 之外,它不会生成任何东西。

我错过了什么吗?

【问题讨论】:

  • 它抛出 AbstractMethodError 可能存在冲突或版本与您的 jar 文件之一不同。

标签: java web-services cxf java2wsdl


【解决方案1】:

在我的情况下,问题是由包含在类路径中的 xerces jar 引起的。我在 pom.xml 的 Dependency Hierarchy 中搜索了它,并删除了 xerces jar 的工件。

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

【讨论】:

    【解决方案2】:

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

    你应该验证你的版本,因为它有方法javax.xml.parsers.DocumentBuilderFactory.setFeature(String )

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      • 2019-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-31
      相关资源
      最近更新 更多