我有这个罐子:
/mybundle.jar/
de/mybundle/myclass.class
lib/mysql.jar
META-INF/MANIFEST.MF
使用以下MANIFEST.MF
Manifest-Version: 1.0
Class-Path: lib/mysql.jar
Main-Class: de.mybundle.myclass
这对我来说似乎完全正确,但是当我跑步时
java -jar mybundle.jar
当类试图实例化其中一个MySQL-Library类时,我得到一个NoClassDefFoundException。
我做错了什么?
答案 0 :(得分:1)
您无法将jar文件捆绑在其他jar文件中。清单中指定的路径相对于您正在调用的jar文件的位置,因此在您的情况下相对于mybundle.jar
的位置。
您有两种选择:
答案 1 :(得分:0)
如果你的mybundle.jar在c:/ foo中,那么你的mysql.jar就在c:/ foo / lib中。清单中的Class-Path与您编写它的方式相对于可执行JAR。