我不明白在rt.jar中通过jaxws-rt.jar可以使用jax-ws包的“内部”实现。为什么Sun / Oracle会采取这样的决定将jax-ws集成到jdk中...我不知道两个包中两个类的类的变化是否并行执行....有人可以说明哪个应该真的被提到...... ????
答案 0 :(得分:2)
jaxws-rt.jar
不是Java RE的一部分。但RE需要在内部实现JAXWS。所以,据我记忆,他们在com.sun.xml.internal.ws
包中实现了一个,以避免将来的冲突和错误,如果应用程序在其类路径上放置了不同的JAXWS实现。
另一个方面:即使有人在类路径中添加了一个新的实现,它仍然可以保证JRE按预期工作,即使这个新实现有bug。
答案 1 :(得分:0)
你没有说明你在哪里看到这个。
默认情况下,javax.xml.ws*
类型后面的JAX-WS实现是JRE中提供的实现。 JAX-WS定义了SPI;为了覆盖JRE类,替代实现必须驻留在endorsed directories。
某些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的多个实现。使用哪一个取决于配置。