更换从 JDK 移除的 Java EE 模块时要考虑哪些标准?
Which criterias to consider when replacing the Java EE modules removed from JDK?
在 JDK 11 中,Oracle 已从 JDK 中删除了以下模块:
java.xml.ws
java.xml.bind
java.xml.ws.annotation
以下是已删除模块的可能替代品:
jakarta
com.sun.xml // The reference Implementation
以下linkhttp://openjdk.java.net/jeps/320中,建议将模块替换成sun的参考实现
选择合适的替代品的标准是什么?
这并不是真正的“在 Jakarta 或 Sun 参考实现之间进行选择”。 Jakarta 现在是以前的 Java EE(Oracle 将它交给了 Eclipse 基金会,它有了一个新名称)。这些标准是在 Jakarta 项目下开发的,每个标准(例如 JAX-WS)都有一个参考实现。
其他供应商可能会独立实施该标准。选择不是在“Jakarta 或 Sun 参考实现”之间,而是在参考实现和另一个供应商的实现之间。
例如,查看 JAXB(Java API 用于 XML 绑定)。有一个参考实现,还有 MOXy,这是一个单独的实现,具有一些额外的 non-standard 功能。
这是关于 JAX-WS, which lists two implementations: the reference implementation which has Maven coordinates jakarta.xml.ws:jakarta.xml.ws-api:jar:2.3.3
, and Eclipse Metro 的 Jakarta 页面,这是一个替代实现。
选择的话,需要看两者的特点,再决定自己要用什么。
请注意,如果您 运行 您的软件在 Java EE 或 Jakarta EE 应用程序服务器上,则可能已经包含 JAX-WS 的实现。
针对 JAX-WS API 编写您的程序,而不是针对特定的实现,除非您需要使用特定实现的 non-standard 扩展(当然,那会,以后很难切换到不同的实现)。
在 JDK 11 中,Oracle 已从 JDK 中删除了以下模块:
java.xml.ws
java.xml.bind
java.xml.ws.annotation
以下是已删除模块的可能替代品:
jakarta
com.sun.xml // The reference Implementation
以下linkhttp://openjdk.java.net/jeps/320中,建议将模块替换成sun的参考实现
选择合适的替代品的标准是什么?
这并不是真正的“在 Jakarta 或 Sun 参考实现之间进行选择”。 Jakarta 现在是以前的 Java EE(Oracle 将它交给了 Eclipse 基金会,它有了一个新名称)。这些标准是在 Jakarta 项目下开发的,每个标准(例如 JAX-WS)都有一个参考实现。
其他供应商可能会独立实施该标准。选择不是在“Jakarta 或 Sun 参考实现”之间,而是在参考实现和另一个供应商的实现之间。
例如,查看 JAXB(Java API 用于 XML 绑定)。有一个参考实现,还有 MOXy,这是一个单独的实现,具有一些额外的 non-standard 功能。
这是关于 JAX-WS, which lists two implementations: the reference implementation which has Maven coordinates jakarta.xml.ws:jakarta.xml.ws-api:jar:2.3.3
, and Eclipse Metro 的 Jakarta 页面,这是一个替代实现。
选择的话,需要看两者的特点,再决定自己要用什么。
请注意,如果您 运行 您的软件在 Java EE 或 Jakarta EE 应用程序服务器上,则可能已经包含 JAX-WS 的实现。
针对 JAX-WS API 编写您的程序,而不是针对特定的实现,除非您需要使用特定实现的 non-standard 扩展(当然,那会,以后很难切换到不同的实现)。