使用可执行jar中不可执行jar的类

时间:2014-08-08 17:29:13

标签: java ant jar manifest executable-jar

我正在尝试在名为 exec.jar 的可执行jar中使用名为 noexec.jar 的非可执行jar中的类。在nonexec jar中没有已定义的清单,在exec jar中没有清单。保存罐子的文件夹结构如下所示。

ROOT
 /lib
 |
  ---nonexec.jar
  ---exec.jar

将可执行jar的清单中定义的类路径定义为Class-Path: nonexec.jar,例如this java link。但是,每次运行java -jar exec.jar时,我都会Exception in thread "main" java.lang.NoClassDefFoundError: helper。有没有人,即使我在我的类路径中包含nonexec,为什么jar中包含的类没有被找到?

编辑:这是清单文件

Manifest-Version: 1.0
Class-Path: .
Main-Class: start

1 个答案:

答案 0 :(得分:1)

nonexec.jar添加到清单中的类路径,i。即

Manifest-Version: 1.0
Class-Path: nonexec.jar
Main-Class: start

如果您只使用Class-Path: .,则会搜索当前目录(.)的类别 如果在类路径列表中需要多个jar,则它们都用空格分隔:

Class-Path: nonexec.jar nonexec2.jar nonexec3.jar