【问题标题】:what is the Difference between the "/com/sun/xml/ws/" package in jaxws-rt.jar and "/com/sun/xml/internal/ws/" package inside rt.jarjaxws-rt.jar 中的“/com/sun/xml/ws/”包和 rt.jar 中的“/com/sun/xml/internal/ws/”包有什么区别
【发布时间】:2011-04-26 13:13:57
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      默认情况下,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 实现。使用哪一个取决于配置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-25
        • 1970-01-01
        • 2013-12-16
        • 1970-01-01
        • 1970-01-01
        • 2017-02-23
        • 2015-11-20
        相关资源
        最近更新 更多