我按照此处的说明在我的 JDK v1.6.0_31 之上正确安装最新的 JAX-WS 版本(2.2.6)(即将 JAX-WS 版本中的 jaxws-api.jar 和 jaxb-api.jar 复制到我的 ${JAVA_HOME}/lib/endorsed 目录)。从 Eclipse 内部,我可以正确运行 wsimport ant 任务,并且生成的代码在以下注释中给出了版本标记:
/**
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.2.6b21
* Generated source version: 2.2
*
*/
我遇到的问题是生成的客户端代码显示错误,这使我相信编译器仍在使用 JAX-WS 2.1 版:
The constructor Service(URL, QName, WebServiceFeature[]) is undefined
和
The attribute required is undefined for the annotation type XmlElementRef
我尝试在启动 Eclipse 时显式设置 -Djava.endorsed.dir arg,并且我还尝试在 Eclipse->Preferences->Java->InstalledJREs 下设置此arg,但这些都没有帮助。我的 wsimport ant 任务类路径被定义为查看 JAX-WS 2.2.6 jar。我还尝试设置我的项目构建路径以拉入 2.2.6 jar。似乎没有任何效果。我错过了什么吗?