java -jar命令问题自问自答 can not find class definition--Class-Path

问:

我写了一个application,同时它有引用了一些其他的jar,例如oracle的jdbc.我在执行的时候,他总是提示我找不到类。可是我明明在class-path里写了阿。
下面是我的manifest文件,谁能告诉我所需的类明明在my.jar中,他怎么会找不到呢?

Manifest-Version: 1.0
Main-Class: com.DesignToolApp
Class-path: lib/client.jar lib/j2ee.jar

 

答:
这个问题我也刚刚遇到过。在MANIFEST.MF文件的最后,要留两个空行(也就是回车),才可以识别到Class-Path这一行,如果只有一个空行,那么只识别到Main-Class这一行。
Class-Path中的库名用空格格开,使用和jar包相对的路径,发布时把jar包和其他用到的类库一起交给用户就可以了。最好再写一个bat文件,很方便:)
例如:你的jar文件存放在d:\project目录下,第三方库存放在d:\project\lib目录下,那么,在MANIFEST.MF中,这样设置:
Class-Path: lib/aaa.jar lib/bb.jar lib/cc.jar

此外,如果想把类库一起包到jar包里面,那么只有把你的类库(一般是jar压缩的吧?)解压,再和你的文件一起打成jar。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值