4

我不理解在 rt.jar 中使用 jax-ws 包的“内部”实现,因为它们已经可以通过 jaxws-rt.jar 获得。为什么 Sun/Oracle 会做出这样的决定将 jax-ws 集成到 jdk 中...我不知道两个 jar 中的两个包的类的更改是否并行执行....有人能说明一下吗实际上应该被推荐......????

4

2 回答 2

2

jaxws-rt.jar不是 Java RE 的一部分。但是 RE 需要在内部实现 JAXWS。因此,据我所知,他们在com.sun.xml.internal.ws包中实现了一个,以避免将来如果应用程序在其类路径中放置 JAXWS 的不同实现时发生冲突和错误。

另一方面:即使有人在类路径中添加了一个新的实现,它仍然可以保证 JRE 按预期工作,即使这个新的实现有错误。

于 2011-04-26T13:42:18.333 回答
0

你没有给出任何关于你在哪里看到的上下文。

默认情况下,类型背后的 JAX-WS 实现javax.xml.ws*是 JRE 中提供的。JAX-WS 定义了一个SPI;为了覆盖 JRE 类,替代实现必须驻留在认可的目录中。

一些 Java EE 5 应用服务器可能同时在 Java 1.5 和 1.6 上运行;为了满足 Java 1.5 规范,应用服务器需要提供一个 JAX-WS 实现。Java EE 6 实现将覆盖 Java 6 实现(Java EE 6 要求 JAX-WS 2.2,而 Java SE 6 要求 2.0)。

因此,在某些上下文中可能会看到不止一种 JAX-WS 实现。使用哪一种取决于配置。

于 2011-04-26T13:45:52.837 回答