Java 9 已弃用了六个包含Java EE API的模块,它们将很快被删除:
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。我希望人们能扩展它而不是自己写答案。
在你投票关闭之前:
替使用不推荐使用的Java EE模块,而使用以下构件。
JAF(java.activation)
JavaBeans激活框架是一种独立的技术(在Maven Central上可用):
<dependency> <groupId>com.sun.activation</groupId> <artifactId>javax.activation</artifactId> <version>1.2.0</version> </dependency>
CORBA(java.corba)
从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的实现)。
JTA(java.transaction)
独立版本:
<dependency> <groupId>javax.transaction</groupId> <artifactId>javax.transaction-api</artifactId> <version>1.2</version> </dependency>
(来源;看看如何使用1.2以及即将1.3在类和模块上使用的路径。)
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.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发行版的一部分在此下载。
schemagen
xjc
JAX-WS(java.xml.ws)
参考实现:
<!-- 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.xml.ws.annotation)
Java Commons批注(在Maven Central上可用):
<dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <version>1.3.1</version> </dependency>