📅  最后修改于: 2023-12-03 15:09:49.869000             🧑  作者: Mango
在使用Java 9及以上版本时,引导类路径与 module-info.java 文件必须一起设置,否则可能导致程序无法运行。
引导类路径是Java虚拟机用来搜索类文件的路径,它与普通的类路径(classpath)有所区别。在Java 9及以上版本中,引导类路径被用来加载Java核心库,而普通的类路径被用来加载应用程序类。
module-info.java 文件用来定义Java模块,它可以指定该模块的依赖项和导出的包,以及模块路径和引导类路径。
引导类路径和module-info.java文件可以通过以下两种方式设置:
在命令行中使用以下参数设置引导类路径和module-info.java文件:
java --module-path <modulepath> --module <modulename>/<mainclassname>
其中,
在module-info.java文件中使用以下语句设置引导类路径:
requires java.base;
这个语句将Java核心库(java.base模块)作为依赖项导入到当前模块,并将其加入引导类路径中。
下面是一个示例module-info.java文件:
module mymodule {
requires java.base;
requires mymodule2;
exports com.example.mypackage;
}
在编译并运行该模块时,需要使用以下命令:
javac --module-path <modulepath> -d <outputpath> <module-info.java> <sourcemodules>
java --module-path <modulepath> -m mymodule/com.example.mypackage.Main
其中,
注意,在运行应用程序时,需要指定应用程序的主类名,例如上面的示例中的com.example.mypackage.Main。