gpt4 book ai didi

java - 使用 Java EE API 替换已弃用的 JPMS 模块

转载 作者:行者123 更新时间:2023-11-28 23:13:15 25 4
gpt4 key购买 nike

Java 9 deprecated six modules that contain Java EE APIs他们是going to be removed很快:

  • java.activationjavax.activation
  • java.corbajavax.activityjavax.rmijavax.rmi.CORBAorg.omg.*
  • java.transactionjavax.transaction
  • java.xml.bind 与所有 javax.xml.bind.*
  • java.xml.wsjavax.jwsjavax.jws.soapjavax.xml.soap 和所有 javax.xml.ws.*
  • java.xml.ws.annotationjavax.annotation

哪些维护的第三方工件提供了这些 API?他们提供这些 API 的能力如何或他们必须提供哪些其他功能并不重要 - 重要的是,它们是这些模块/包的直接替代品吗?

为了更容易收集知识,我回答了目前我所知道的,并将答案设为社区维基。我希望人们会扩展它而不是自己写答案。


在您投票结束之前:

  • 是的,已经有一些关于各个模块的问题,对这个问题的回答当然会重复这些信息。但是 AFAIK 没有单一的点可以了解所有这些,我认为这具有很大的值(value)。
  • 要求图书馆推荐的问题通常被认为是题外话,因为“它们往往会吸引自以为是的答案和垃圾邮件”,但我认为这不适用于此处。一组有效的库被清楚地描述:它们必须实现特定的标准。除此之外,其他都不重要,所以我认为意见和垃圾邮件的风险不大。

最佳答案

不要使用已弃用的 Java EE 模块,而是使用以下工件。

JAF(java.activation)

JavaBeans Activation Framework(现为 Jakarta Activation)是一项独立技术(可在 Maven Central 上获得):

<dependency>
<groupId>com.sun.activation</groupId>
<artifactId>jakarta.activation</artifactId>
<version>1.2.2</version>
</dependency>

( Source )

CORBA(java.corba)

来自 JEP 320 :

There will not be a standalone version of CORBA unless third parties take over maintenance of the CORBA APIs, ORB implementation, CosNaming provider, etc. Third party maintenance is possible because the Java SE Platform endorses independent implementations of CORBA. In contrast, the API for RMI-IIOP is defined and implemented solely within Java SE. There will not be a standalone version of RMI-IIOP unless a dedicated JSR is started to maintain it, or stewardship of the API is taken over by the Eclipse Foundation (the transition of stewardship of Java EE from the JCP to the Eclipse Foundation includes GlassFish and its implementation of CORBA and RMI-IIOP).

JTA(java.transaction)

独立版本:

<dependency>
<groupId>jakarta.transaction</groupId>
<artifactId>jakarta.transaction-api</artifactId>
<version>1.3.3</version>
</dependency>

( Source )

JAXB(java.xml.bind)

自从 Java EE 更名为 Jakarta EE,JAXB 现在由新的工件提供:

<!-- API -->
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>2.3.3</version>
</dependency>

<!-- Runtime -->
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.3</version>
<scope>runtime</scope>
</dependency>

<!-- Alternative runtime -->
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.3</version>
<scope>runtime</scope>
</dependency>

JAXB Reference Implementation page .

替代运行时是 brought up by Abhijit Sarkar .

schemagenxjc 也可以作为独立 JAXB 分发的一部分从那里下载。

另见 linked answer .

JAX-WS(java.xml.ws)

引用实现:

<!-- API -->
<dependency>
<groupId>jakarta.xml.ws</groupId>
<artifactId>jakarta.xml.ws-api</artifactId>
<version>2.3.3</version>
</dependency>

<!-- Runtime -->
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.3.3</version>
</dependency>

Standalone distribution download (包含 wsgenwsimport)。

通用注释(java.xml.ws.annotation)

Java Commons Annotations (在 Maven Central 上可用):

<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
<version>1.3.5</version>
</dependency>

( Source )

关于java - 使用 Java EE API 替换已弃用的 JPMS 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54226508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com