Java 9 弃用了六个包含 Java EE API 的模块, 它们很快就会 被删除:
- java.activation with
javax.activation
包 - java.corba 与
javax.activity
,javax.rmi
,javax.rmi.CORBA
和org.omg.*
包 - java.transaction 与
javax.transaction
包 - java.xml.bind 与所有
javax.xml.bind.*
包 - java.xml.ws 与
javax.jws
,javax.jws.soap
,javax.xml.soap
和所有javax.xml.ws.*
包 - java.xml.ws.annotation 与
javax.annotation
包
哪些维护的第三方工件提供了这些 API?它们提供这些 API 或它们必须提供哪些其他功能并不重要——重要的是,它们是这些模块/包的直接替代品吗?
为了更容易收集知识,我回答了我目前所知道的并将答案作为社区 wiki。我希望人们会扩展它而不是编写自己的答案。
在您投票结束之前:
- 是的,已经有一些关于个别模块的问题,这个问题的答案当然会重复这些信息。但是 AFAIK 没有一点可以了解所有这些,我认为这很有价值。
- 要求图书馆推荐的问题通常被认为是题外话,因为“它们往往会吸引固执己见的答案和垃圾邮件”,但我认为这不适用于这里。一组有效的库被清楚地描述:它们必须实现一个特定的标准。除此之外,其他一切都不重要,因此我认为意见和垃圾邮件的风险不大。
原文由 Nicolai Parlog 发布,翻译遵循 CC BY-SA 4.0 许可协议
不要使用已弃用的 Java EE 模块,而是使用以下工件。
JAF ( java.activation )
JavaBeans Activation Framework(现为 Jakarta Activation )是一项独立技术(可在 Maven Central 上获得):
( 来源)
CORBA ( java.corba )
来自 JEP 320 :
JTA ( java.transaction )
单机版:
( 来源)
JAXB ( java.xml.bind )
由于 Java EE 更名为 Jakarta EE ,因此 JAXB 现在由新工件提供:
JAXB 参考实现页面。
替代运行时 由 Abhijit Sarkar 提出。
schemagen
和xjc
也可以作为独立 JAXB 发行版的一部分从那里下载。另请参阅 链接答案。
JAX-WS ( java.xml.ws )
参考实现:
独立分发下载(包含
wsgen
和wsimport
)。通用注解 ( java.xml.ws.annotation )
Java Commons Annotations (在 Maven Central 上可用):
( 来源)