运行 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)

Official documentation:

To launch the main class in a module: java [options] -m module[/mainclass] [args...]

-p是必须在-m

之前的选项