0

我对类加载有一些小问题。我有一个罐子说 abc.jar,在那个罐子下面还有另一个罐子叫做 libs/cde.jar。我在那个使用 cde.jar 的 jar 中编写了一个类。我正确打包了 abc.jar 并检查了依赖 jar 是否正确打包在 /libs/cde.jar 下。

但是,当我尝试加载 jar (abc.jar) 并执行依赖于 cde.jar 的类时,它找不到依赖的 cde.jar。关于我该怎么做的任何指针?我不能使用其他 jar 加载器,如 OneJar 等。如果可能的话,我必须使用纯 java 类加载。我尝试使用“file:////C:/abc.jar!/libs/cde.jar”将它放在类路径中,但没有成功

谢谢马斯蒂

4

1 回答 1

4

Java can't, by default, deal with embedded Jars (ie Jars within Jars)

If you really want this type of behavior, you should take a look at OneJar

Otherwise you will need to leave dependent Jars externally and specify there dependency via the parent Jar's Class-Path attribute in its Manifest file

于 2012-08-28T00:27:28.600 回答