在JDK 6上安装最新的JAX-WS

在JDK 6上安装最新的JAX-WS,jax-ws,Jax Ws,我按照说明在JDK v1.6.0_31之上正确安装最新的JAX-WS版本(2.2.6)(即,将jaxws-api.jar和jaxb-api.jar从JAX-WS版本复制到我的${JAVA_HOME}/lib/annowed目录)。从Eclipse内部,我可以正确运行wsimport ant任务,生成的代码在以下注释中给出了版本戳: /** * This class was generated by the JAX-WS RI. * JAX-WS RI 2.2.6b21 * Generated

我按照说明在JDK v1.6.0_31之上正确安装最新的JAX-WS版本(2.2.6)(即,将jaxws-api.jar和jaxb-api.jar从JAX-WS版本复制到我的${JAVA_HOME}/lib/annowed目录)。从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


在启动Eclipse时,我尝试显式地设置-Djava.annowned.dir参数,并尝试在Eclipse->Preferences->Java->InstalledJREs下设置此参数,但这两种方法都没有帮助。我的wsimport ant任务类路径是为了查看JAX-WS 2.2.6 JAR而定义的。我还尝试设置我的项目构建路径,以引入2.2.6 JAR。似乎什么都不管用。我遗漏了什么吗?

不确定为什么它不在前面,他认可了lib(除了你放在libs上的认可目录可能是用于eclipse正在使用的另一个JRE/JDK之外),但是关于你最后尝试的事情。。。将JAR直接添加到构建路径。。。。如果您对构建路径条目进行排序,使您的JAX-WS JAR位于JDK条目之上,这将起作用

您已经生成了需要JAX-WS2.1的代码。版本2.0没有WebServiceFeature类,因此服务中也没有具有此类参数类型的构造函数

正如您所看到的,在JavaSE6中没有这样的构造函数:javax.xml.ws.Service SE6,但例如在JavaEE6中有:javax.xml.ws.Service EE6


您可以使用下面的命令生成存根
wsdl2java-p-client-frontend jaxws21

如果可能的话,一个解决方案可以用更高的jdk(1.7或1.8)替换jdk1.6。

您确定运行wsimport的java二进制文件属于您更改的java_主页吗?
The attribute required is undefined for the annotation type XmlElementRef