java被弃_java – module已被弃用并标记为要删除

分析

选项–show-module-resolution有助于观察此类行为.它仅适用于java,而不是javac,但JPMS在两种情况下的行为都相同.如果您使用该选项启动应用程序并在模块路径上启动javax.activation-1.2.0.jar,您将看到以下行:

root $your-module file:///$your-jar requires java.activation jrt:/java.activation

请注意,java.activation是从jrt:/java.activation中提取的,而不是模块路径上的JAR.模块系统优先(不幸的是静默地)将平台模块放在模块路径上,这就是不使用未弃用版本的原因.

解决方案

我看到了三个不同的解决方案.

升级模块路径

您正在使用的JAR是平台模块java.activation的完整实现,因此您可以通过将JAR放在升级模块路径上来使用JAR来替换模块:

javac

-d /home/nipa/code/Java-Activation/target/classes

--upgrade-module-path ~/.m2/repository/com/sun/activation/javax.activation/1.2.0/javax.activation-1.2.0.jar:

-g --release 10 -encoding UTF-8

`find . -name *.java`

然后,编译器将使用JAR替换同名的平台模块,并且弃用将消失.

maven-compiler-plugin

--upgrade-module-path=${settings.localRepository}/com/sun/activation/javax.activation/${javax.activation.version}/javax.activation-${javax.activation.version}.jar

Java 11

JEE模块(如java.activation)已从JDK 11中删除,因此如果您构建为11,则问题就会消失.

忽略它

你正在做正确的事情,它将在几个月后自行解决,所以继续并忽略警告. 🙂

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值