我试图找出可执行 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 是否仍然会查看清单类路径?
如果指定 -jar,则仅使用清单中的类路径。所有其他人都被忽略。如果需要重新指定类路径,请勿使用 -jar。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)