java -jar 的classpath无效的的问题

一般都用ide了。今天在命令行里面,试了一下jar

jar cvfm test.jar MANIFEST.MF MyTest.class

其中MANIFEST如下:
Manifest-Version: 1.0
Created-By: 1.5.0_06 (Sun Microsystems Inc.)
Main-Class: MyTest

但是我运行jar的时候却提示找不到ooo.jar 里面的东东
java -cp 'ooo.jar:aaa.jar' -jar test.jar
看来这个参数 ——cp是没有效果的
网上搜了一下

在MANIFEST里面添加了
Class-Path: ooo.jar aaa.jar这么一行 就可以成功运行了。

[size=large][color=red]但是我的问题是 为什么随便打开一个开源的包 根本就没有依赖的包的信息呢????[/color][/size]

比如我打开json-lib-2.4.jar

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.1

Created-By: 1.6.0_20-b02-279-10M3065 (Apple Inc.)

只有这些,但其实这个包依赖了很多包啊??

java -cp 'ooo.jar:aaa.jar' -jar test.jar
这种写法不对吧

一般test.jar存在Main-calss
我们用java -jar test.jar

否则 我们用 java -cp ooo.jar;test.jar;aaa.jar com.bes.Test
来执行,你种写法感觉比较乱,不过我没试过是否可行

json-lib-2.4.jar

又没有说是能够单独执行的

而且依赖的包是在代码执行到需要使用的地方时JAVA才会报错告诉你找不到相关的包

一般部署一个项目时,负责的人就得处理这些依赖的包