在我为客户端 Web 服务运行 wsimport 后,我得到了The constructor Service(URL, QName, WebServiceFeature[]) is undefined 错误。我正在使用 JDK 1.6。请帮忙。
7 回答
添加附加选项“-target 2.0”,同时使用 wsimport 生成 JAX-WS 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)。匹配两个版本,它应该可以正常工作。