【发布时间】:2012-03-24 23:00:54
【问题描述】:
在我为客户端 Web 服务运行 wsimport 后,我得到 构造函数 Service(URL, QName, WebServiceFeature[]) is undefined error。我正在使用 JDK 1.6。请帮忙。
【问题讨论】:
在我为客户端 Web 服务运行 wsimport 后,我得到 构造函数 Service(URL, QName, WebServiceFeature[]) is undefined error。我正在使用 JDK 1.6。请帮忙。
【问题讨论】:
在使用 wsimport 为 JAX-WS 2.0 等生成源代码时添加附加选项“-target 2.0”。
【讨论】:
您已经生成了需要 JAX-WS 2.1 的代码。 2.0 版没有 WebServiceFeature 类,因此在 Service 中也没有具有这种参数类型的构造函数。
如您所见,在 Java SE 6 中没有这样的构造函数:javax.xml.ws.Service SE 6,但例如在 Java EE 6 中有:javax.xml.ws.Service EE 6
【讨论】:
在首选项中更改您的 JAX-WS。这是 Java 6 SE 和 Java EE 的兼容性问题
有时从 Java 1.6 更改为 Java 1.7 也可以解决此问题。
【讨论】:
从classpath中删除jdk1.6,然后添加jdk1.7可以解决这个问题
【讨论】:
您可以从 JAX-WS 2.2 API 手动将 webservices-api.jar 添加到 /lib/endorsed。见本页底部:https://blogs.oracle.com/ritzmann/entry/metro_2_0_on_java
【讨论】:
此外,要从 java 6 切换到 java 7,您可能需要更改“Java 构建路径”中的“订购和导出”Eclipse 选项卡,并将“JRE 系统库”放在列表顶部。 如果可行,则可能意味着您的项目中某处有一个旧 jar。
【讨论】:
在 Eclipse 中检查 Java 版本。转到命令提示符并检查那里的 Java 版本(命令:java -version)。 匹配两个版本,它应该可以正常工作。
【讨论】: