18

在我为客户端 Web 服务运行 wsimport 后,我​​得到了The constructor Service(URL, QName, WebServiceFeature[]) is undefined 错误。我正在使用 JDK 1.6。请帮忙。

错误

4

7 回答 7

16

添加附加选项“-target 2.0”,同时使用 wsimport 生成 JAX-WS 2.0 的源代码等。

于 2012-11-21T07:30:04.310 回答
12

您已经生成了需要 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

于 2012-03-09T06:42:33.367 回答
7

在首选项中更改您的 JAX-WS。这是 Java 6 SE 和 Java EE 的兼容性问题

在此处输入图像描述

有时从 Java 1.6 更改为 Java 1.7 也可以解决此问题。

于 2014-08-05T22:12:51.523 回答
3

从classpath中删除jdk1.6,然后添加jdk1.7可以解决这个问题

于 2015-12-29T12:07:47.490 回答
1

您可以从 JAX-WS 2.2 API 手动将 webservices-api.jar 添加到 /lib/endorsed。请参阅本页底部:https ://blogs.oracle.com/ritzmann/entry/metro_2_0_on_java

于 2012-03-28T17:11:59.463 回答
1

此外,要从 java 6 切换到 java 7,您可能需要更改“Java 构建路径”中的“订购和导出”Eclipse 选项卡,并将“JRE 系统库”放在列表顶部。如果可行,则可能意味着您的项目中某处有一个旧 jar。

于 2017-11-10T15:10:21.983 回答
0

在 Eclipse 中检查 Java 版本。转到命令提示符并检查那里的 Java 版本(命令:java -version)。匹配两个版本,它应该可以正常工作。

于 2015-12-05T00:10:52.813 回答