在 java 命令行上指定多个 -cp 或 -classpath 条目

Specifying multiple -cp or -classpath entries on java command line

Java 文档在如何定义多个类路径目录方面相当明确(由 ; 或 : 分隔,具体取决于 OS)。

但是,我遇到的情况是框架已经将 -cp 标志设置为应用程序目录。我可以向命令行添加其他选项,所以我想知道为什么我不能添加自己的额外 -cp 选项来指定我的路径。

这会自动合并类路径条目,还是会导致只使用两个条目之一?如果是后者,会用哪一个?

实验表明,如果您多次指定 -cp 或 -classpath,Java CLI 不会报错。

但是,结果是最后设置的类路径将覆盖之前的任何参数。因此:

java -cp lib1/* -cp lib2/* MyProgram

将导致只有 "lib2" 类 在类路径中