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

新手上路,请多包涵

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

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

原文由 Dmitriy Dumanskiy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

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" />

原文由 Naman 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

原文由 Alan Bateman 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题