我试图找出可执行 jar 文件的一个奇怪问题:xyz.jar 在清单文件 / 中有一个类路径,并且取决于 abc.jar 库。
不幸的是,xyz.jar 中的清单类路径不正确。为了避免灾难,我正在更新要使用的执行命令:java -classpath path/abc.jar:etc 而不是 java -jar
问题是 xyz.jar 出现故障,除非 abc.jar 不在类路径中。删除 abc.jar 后,程序会正确执行,并且不会引发异常。为什么?xyz.jar 必须从其他地方获取 abc.jar。xyz.jar 调用 abc.jar 中的方法。
-classpath 应该覆盖任何 $CLASSPATH 设置。即使使用-classpath,java是否仍会查看清单类路径?