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

Tom*_*Tom 12 jax-ws

我按照这里的说明 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
* 
*/
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是生成的客户端代码显示错误导致我相信编译器仍在使用JAX-WS版本2.1:

The constructor Service(URL, QName, WebServiceFeature[]) is undefined
Run Code Online (Sandbox Code Playgroud)

The attribute required is undefined for the annotation type XmlElementRef
Run Code Online (Sandbox Code Playgroud)

我尝试在启动Eclipse时显式设置-Djava.endorsed.dir arg,我也尝试在Eclipse-> Preferences-> Java-> InstalledJREs下设置这个arg,但这些都没有帮助.我的wsimport ant任务类路径被定义为查看JAX-WS 2.2.6 jar.我也试过设置我的项目构建路径来拉入2.2.6罐子.似乎没什么用.我错过了什么吗?

小智 6

不知道为什么它没有在前面提出它支持lib(除了你认可的目录,你把你的libs用于eclipse正在使用的不同的JRE/JDK?),但是关于你尝试的最后一件事...添加罐子直接到构建路径....如果你订购构建路径条目,使你的JAX-WS jar高于JDK条目,这将有效.