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

2022-08-31 12:46:10

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

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


答案 1

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

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

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


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

马文

<dependency>
    <groupId>com.sun.activation</groupId>
    <artifactId>javax.activation</artifactId>
    <version>1.2.0</version>
</dependency>

格雷德尔

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

常春藤

<dependency org="com.sun.activation" name="javax.activation" rev="1.2.0" />

答案 2

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

<dependency>
  <groupId>com.sun.activation</groupId>
  <artifactId>javax.activation</artifactId>
  <version>1.2.0</version>
</dependency>

如果您正在开发模块,则可以使用.requires java.activation


推荐