【发布时间】:2011-04-30 00:53:22
【问题描述】:
我有一个名为“a.jar”的 jar 文件,其中有另一个名为“b.jar”的 jar 文件。
a.jar
|
|-- META-INF
| |
| |-- MANIFEST.MF
|
|-- b.jar
|
|- com/test/MainInB.class
"b.jar" 有 com/test/MainInB.class 文件。 (MainInB 类只打印出“hello world!”)
“a.jar”有这样的 MANIFES.MF:
Manifest-version: 1.0
Main-Class: com.test.MainInB
Class-Path: b.jar
(清单文件确实以空的新行结尾)
我想像这样运行 a.jar,这样它就会打印出“hello world!”
java -jar a.jar
但是我得到了 NoClassDefFoundError!
请帮忙!这是不允许的吗?还是我错过了什么?
R 乔
【问题讨论】:
-
我认为没有直接的方法可以做到这一点。看看one-jar.sourceforge.net
-
请注意 a.jar 的类路径指定 b.jar 与 a.jar 相邻。 (即在与 a.jar 相同的目录中作为名为 b.jar 的文件找到)