【问题标题】:The version of Metro bundled with JavaSE?与 JavaSE 捆绑在一起的 Metro 版本?
【发布时间】:2014-03-18 02:07:57
【问题描述】:

Java SE 6 及更高版本与 Metro 捆绑在一起。令人惊讶的是,找不到Java ver x -> Metro ver y 列表。

如何知道我的 JVM 捆绑了哪个版本的 Metro?通过在运行时检查 VM 或检查已安装 JVM 中的文件。

【问题讨论】:

    标签: java jax-ws java-metro-framework


    【解决方案1】:

    JDK 6 与 JAX-WS RI 捆绑在一起。 GlassFish Metro 是一个 Web 服务堆栈,其中包括 JAX-WS RI 以及 JAXB RI 或 StAX 等其他组件,但它是一个单独的项目。 所以如果你想使用它,你必须下载 Metro jars。

    JDK 6 开始包含 JAX-WS RI 2.0,自更新 4 起包含 JAX-WS RI 2.1。

    您可以通过 wsimport 命令找到您的 JDK 使用的 JAX-WS RI 版本:wsimport -version

    【讨论】:

    • 感谢您指出wsimport -version!正如您在我的回答中看到的,JavaSE 本身表示RI。网络上的其他地方也声称 JavaSE 本身包含引用。 Otoh,我必须下载 Metro - (somewhat confusingly offered at jax-ws.java.net) 并将其包含在我的 Tomcat 7 上,在 Java 7 上运行,才能使其正常工作。哪个是哪个比较混乱。
    • 是的,你是对的 Eugene,我应该说 JAX-WS RI,所以我用你的信息编辑了我的答案,谢谢。正如您所说,所有涉及该主题的命名总是有很多混淆,但底线是 JAX-WS 是 Java 规范请求 (JSR 224),而 JAX-WS RI 是该规范的参考实现, Glassfish 也开发了。
    【解决方案2】:

    根据 David Lizárraga 的回答使用 wsimport -version,对于我在 Windows 和 Linux 上尝试过的各种 JavaSE 1.7.0 构建,我得到了

    JAX-WS RI 2.2.4-b01
    

    这和大卫的回答产生了下表。

     JavaSE   JAX-WS RI
    --------+----------
          6        2.1  
          7      2.2.4  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-21
      • 1970-01-01
      • 1970-01-01
      • 2011-10-12
      • 1970-01-01
      • 1970-01-01
      • 2014-01-26
      • 2023-03-27
      相关资源
      最近更新 更多