运行 Java 当我颠倒参数顺序时,命令行中的模块中断
Running Java module from command line breaks when I reverse argument order
我可以从命令行 运行 一个 Java 模块而不会出现如下问题:
java -p "dir/with/module1;dir/with/module2" -m my.module.name
//runs fine
然而,当我反转参数时,将 -m (--module) 放在 -p (--module-path) 之前,它不起作用并导致以下错误:
java -m my.module.name -p "dir/with/module1;dir/with/module2"
Error occurred during initialization of boot layer
java.lang.module.FindException: Module my.module.name not found
这是预期的行为吗?有人可以确认 -p 和 -m 参数的顺序是否重要吗?
这是我的 Java 版本供参考:
$ java --version
openjdk 11.0.12 2021-07-20 LTS
OpenJDK Runtime Environment Corretto-11.0.12.7.1 (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.12.7.1 (build 11.0.12+7-LTS, mixed mode)
To launch the main class in a module:
java [options] -m module[/mainclass] [args...]
-p
是必须在-m
之前的选项
我可以从命令行 运行 一个 Java 模块而不会出现如下问题:
java -p "dir/with/module1;dir/with/module2" -m my.module.name
//runs fine
然而,当我反转参数时,将 -m (--module) 放在 -p (--module-path) 之前,它不起作用并导致以下错误:
java -m my.module.name -p "dir/with/module1;dir/with/module2"
Error occurred during initialization of boot layer
java.lang.module.FindException: Module my.module.name not found
这是预期的行为吗?有人可以确认 -p 和 -m 参数的顺序是否重要吗?
这是我的 Java 版本供参考:
$ java --version
openjdk 11.0.12 2021-07-20 LTS
OpenJDK Runtime Environment Corretto-11.0.12.7.1 (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.12.7.1 (build 11.0.12+7-LTS, mixed mode)
To launch the main class in a module:
java [options] -m module[/mainclass] [args...]
-p
是必须在-m