使用Java EE API替换不推荐使用的JPMS模块
Java 9 已弃用了六个包含Java EEAPI的模块,它们将很快被删除:
java.activation with javax.activation package
java.corba with javax.activity, javax.rmi, javax.rmi.CORBA, and org.omg.* packages
java.transaction with javax.transaction package
java.xml.bind with all javax.xml.bind.* packages
java.xml.ws with javax.jws, javax.jws.soap, javax.xml.soap, and all javax.xml.ws.* packages
java.xml.ws.annotation with javax.annotation package
哪些维护的第三方工件提供了这些API?它们提供这些API的性能如何或它们必须提供哪些其他功能都没关系-重要的是,它们是这些模块/软件包的直接替代品吗?
为了更轻松地收集知识,我用到目前为止的知识进行了回答,并将答案设置为社区Wiki。我希望人们能扩展它而不是自己写答案。
在你投票关闭之前:
- 是的,各个模块上已经存在一些问题,对此问题的答案当然会重复该信息。但是AFAIK并没有一点可以了解所有这些知识,我认为它具有很大的价值。
- 要求图书馆推荐的问题通常被认为是题外话,因为“它们往往会吸引有目的的答案和垃圾邮件”,但我认为这并不适用。有效库的集合已明确划定:它们必须实现特定的标准。除此之外,其他任何事情都不重要,因此我认为意见和垃圾邮件风险不大。
回答:
替使用不推荐使用的Java EE模块,而使用以下构件。
JavaBeans激活框架是一种独立的技术(在Maven Central上可用):
<dependency> <groupId>com.sun.activation</groupId>
<artifactId>javax.activation</artifactId>
<version>1.2.0</version>
</dependency>
从JEP 320起:
除非第三方接管CORBA API,ORB实现,CosNaming提供程序等的维护,否则不会有CORBA的独立版本。由于Java SE平台认可CORBA的独立实现,因此可以进行第三方维护。相反,RMI-IIOP的API仅在Java SE中定义和实现。除非启动专用的JSR来维护RMI-IIOP,否则它将没有独立版本的RMI-IIOP,或者Eclipse Foundation接管了API的管理(Java EE从JCP到Eclipse Foundation的管理过渡包括GlassFish)以及CORBA和RMI-IIOP的实现)。
独立版本:
<dependency> <groupId>javax.transaction</groupId>
<artifactId>javax.transaction-api</artifactId>
<version>1.2</version>
</dependency>
(来源;看看如何使用1.2以及即将1.3在类和模块上使用的路径。)
自从Java EE重命名为Jakarta EE以来,JAXB现在由新的工件提供:
<!-- API --><dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>2.3.2</version>
</dependency>
<!-- Runtime -->
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.2</version>
</dependency>
不建议使用旧工件jaxb-core,因为它们包含拆分包。jaxb-impl
JAXB参考实现页面。
schemagen
并xjc
可以作为独立的JAXB发行版的一部分在此下载。
参考实现:
<!-- API --><dependency>
<groupId>jakarta.xml.ws</groupId>
<artifactId>jakarta.xml.ws-api</artifactId>
<version>2.3.2</version>
</dependency>
<!-- Runtime -->
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.3.2</version>
</dependency>
独立发行版下载(包含wsgen和wsimport)。
Java Commons批注(在Maven Central上可用):
<dependency> <groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.1</version>
</dependency>
以上是 使用Java EE API替换不推荐使用的JPMS模块 的全部内容, 来源链接: utcz.com/qa/427117.html