参考
java -jar命令运行jar包时指定外部依赖jar包
differences-between-java-cp-and-java-jar
背景
使用java -cp lib.jar -jar pointed.jar
时始终显示NoClassDefFoundError
。虽然很确信lib.jar
中包含pointed.jar
中需要的依赖。
原因
java -jar
和java -cp
不能混用
使用-jar
时(如java -jar main.jar
),main.jar
的外部依赖,需要在MANIFEST.MF
中指定Class-Path
。
使用-cp
时(如java -cp all.jar package.Main
),指定依赖的所有jar
包后, 再指明要运行的主类即可。