这个问题是关于JDK 14 "java“命令的确切语法的。
--module-path modulepath... or -p modulepath
A semicolon (;) separated list of directories in which each directory is a directory of modules. 而Ubuntu上的java --help说:
-p <module path>
--module-path <module path>...
A : separated list of directories, each directory
is a directory of modules.我尝试使用jar文件,冒号分隔起作用了,使用分号不起作用。我使用的是jar文件,而不是目录。jar文件被认为是“模块目录”吗?或者仅仅是一些未记录的特性,即可以使用jar文件而不是目录?与File.pathSeparatorChar有关系吗?
发布于 2020-07-06 00:13:45
正如您已经注意到的,--module-path可能包含对目录或jars的引用,我检查了我的一个模块jars,它以以下格式运行得很好:
java --module-path ..\jars\somemodule.jar;other.jar --class-path ..\jars\non-module.jar main.ClassName它也运行得很好,如下所示:
java --class-path ..\jars\somemodule.jar;other.jar;..\jars\non-module.jar main.ClassName但不是这里的非模块:
java --module-path ..\jars\somemodule.jar;other.jar;..\jars\non-module.jar main.ClassName是的,如上所述,File.pathSeparatorChar是操作系统上路径的拆分器,用作类路径和模块路径中项目的分隔符。Windows ';‘但在其他地方通常是':’。
https://stackoverflow.com/questions/62741143
复制相似问题