jaxws-rt.jar中的“/ com / sun / xml / ws /”包和rt.jar中的“/ com / sun / xml / internal / ws /”包之间有什么区别?

时间:2011-04-26 13:13:57

标签: java web-services jax-ws jdk1.6 java-ws

我不明白在rt.jar中通过jaxws-rt.jar可以使用jax-ws包的“内部”实现。为什么Sun / Oracle会采取这样的决定将jax-ws集成到jdk中...我不知道两个包中两个类的类的变化是否并行执行....有人可以说明哪个应该真的被提到...... ????

2 个答案:

答案 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的多个实现。使用哪一个取决于配置。