不允许从系统模块导出软件包 --release
我有以下程序:
模块信息.java
module a {
}
主要.java
public class Main {
public static void main(String[] args) {
System.out.println(sun.nio.ByteBuffered.class);
}
}
该程序使用以下选项成功编译:--add-exports
> javac --add-exports java.base/sun.nio=a module-info.java Main.java
但是,当我添加参数时,它失败了:--release
> javac --add-exports java.base/sun.nio=a --release 9 module-info.java Main.java
error: exporting a package from system module java.base is not allowed with --release
1 error
基本上,这两个命令是等效的。那么,为什么后者是被禁止的呢?
此外,由于IDEA将参数传递给javac,如果我的项目需要内部API,这使得IDEA中的开发变得不可能。--release
我使用的是 JDK 9+178。