如何在Javac中升级JDK模块

时间:2018-10-08 17:46:37

标签: java java-module java-11

我需要使用使用javax.annotation软件包的Java EE版本的JDK 11进行编译的代码。具体来说,我想使用@Resource作为可重复的注释(通用注释1.3规范),而该注释在JDK 8中不可重复。而且,由于我的代码仍然需要,因此需要在Java 8字节码级别上编译此代码。需要在JDK 8上运行。

如果我使用javac --release 8编译代码,则必须使用javax.annotations的JDK 8版本。理想情况下,我想使用--upgrade-module-path,但是javac会阻止此选项:

javac --release 8 --upgrade-module-path /path/to/upgraded/module/
error: option --upgrade-module-path cannot be used together with --release

在以前的Java级别中,我会将javax.annotion jar放在bootclasspath的前面,但这也被--release阻塞了

$ javac --release 8 --boot-class-path foo
error: option --boot-class-path cannot be used together with --release

有什么方法可以安全地编译到较旧的Java级别,同时也可以覆盖/升级特定的包/模块?

0 个答案:

没有答案