例如:一个工程A依赖于B.jar,
1:如果对A工程进行打包的时候,将B.jar也打入到了A.jar(可以使用fat jar工具)。这样就可以直接运行该jar包
java -jar A.jar
2:如果没有将B.jar打到A.jar中
就不能运行java -cp $classpath:B.jar(Path) -jar A.jar,会报出B.jar中的类找不到。原因就是运行-jar命令会把外部设定进去的环境变量屏蔽掉 所以-cp $classpath:B.jar(Path) 也就没什么用了。
假设A.jar 设定的Main函数在test.AMain.class中
正常的做法就是 java -cp $classpath:Path(B.jar):Path(A.jar) test.AMain