我想将我的 jaxws 升级到 2.2(jdk1.6 与 jaxws 2.1 捆绑在一起)。我的jdk是(我没有安装公共jre):
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode)
在jaxws 自己的文档中,他们解释了如何做到这一点:
解决此问题的一种方法是将 jaxws-api.jar 和 jaxb-api.jar 复制到 JRE 认可的目录中,即$JAVA_HOME/lib/endorsed (or $JDK_HOME/jre/lib/endorsed)
但我不确定这对我的安装有什么影响。对于初学者,我只定义了%JAVA_HOME%
. 并且文件夹$JAVA_HOME/lib/endorsed
不存在,所以我创建并复制了两个 jar。但如果我这样做(wsgen 是来自 jaxws 的工具)
wsgen -version
我仍然得到:
JAX-WS RI 2.1.6 in JDK 6
我还尝试创建文件夹JAVA_HOME\jre\lib\endorsed
(请注意,在文档中他们说 JDK_HOME,但由于我只有 JAVA_HOME,所以我使用了此路径)。仍然是相同的 wsgen 输出。
我的问题是:
- 文档页面中的 JAVA_HOME 和 JDK_HOME 有什么区别?有什么重要的或只是引用 JAVA_HOME 的两种方式?
- 'wsgen -version' 是检查使用的 jaxws 版本的有效方法,还是总是调用原始 jdk 中的 exe,但这并不意味着将使用认可的 jar?
- 任何人都知道在 jdk.16 中安装 jaxws2.2 的非常详细的步骤吗?
我发现这篇文章暗示了我所看到的我的想法