java 9中javax.activation包的替代品是什么?

似乎在Java 9中不推荐使用javax.activation包.Oracle迁移指南建议在JVM启动期间使用--add-modules java.activation选项。

但是,我想避免这种情况并替换javax.activation包的类,因为它已被弃用,并将在以后的Java版本中删除。 我想, javax.activation应该有某种替代方案。 如果有可用的,它是什么?

JavaBeans Activation Framework(JAF)可能是您正在寻找现有包的替代方案。

此独立版本的JAF使用Java平台模块系统自动模块名称java.activation来匹配JDK 9中使用的模块名称。未来版本将包括完整模块元数据。

通过可升级模块的概念,仅以模块化forms支持独立API。 使用它们,可以在任何阶段使用该模块的版本,即在编译时,构建时或运行时。


目前可用的版本是1.2.0 ,可以像这样使用:

Maven的

  com.sun.activation javax.activation 1.2.0  

摇篮

 compile 'com.sun.activation:javax.activation:1.2.0' 

常春藤

  

JavaBeans Activiation Framework是一个独立的技术,在JCP中有自己的维护JSR并且自己下载。 是的,Java SE 9已弃用它,并建议在将来的版本中删除与Java EE共享的模块,但这不会影响独立版本。 独立版本将继续存在。 如果您使用Maven,那么这应该工作:

  com.sun.activation javax.activation 1.2.0  

如果您正在开发模块,那么您可以requires java.activation

万一其他人遇到这个并像我一样误导实际的命令行选项不是--add-module但是--add-modules