Java 如何将jar文件添加到jar文件中?

Java 如何将jar文件添加到jar文件中?,java,groovy,jar,Java,Groovy,Jar,可能重复: 我想找到一种将jar文件嵌入可执行jar文件的方法,以便程序所需的所有实用程序都包含在jar文件中 此URL描述了我想要做的事情,但表示只有通过编写自定义类加载器才能做到: 即使那个网址令人沮丧,我也不会放弃 我要嵌入的特定.jar文件是groovy.jar文件 具体来说,我希望我的jar文件如下所示: jar -tf MyProg.jar META-INF/ META-INF/MANIFEST.MF lib/groovy-all-1.6.9.jar MyProg.class

可能重复:

我想找到一种将jar文件嵌入可执行jar文件的方法,以便程序所需的所有实用程序都包含在jar文件中

此URL描述了我想要做的事情,但表示只有通过编写自定义类加载器才能做到:

即使那个网址令人沮丧,我也不会放弃

我要嵌入的特定.jar文件是groovy.jar文件

具体来说,我希望我的jar文件如下所示:

jar -tf MyProg.jar
META-INF/
META-INF/MANIFEST.MF
lib/groovy-all-1.6.9.jar
MyProg.class
java -jar MyProg.jar
我想这样执行:

jar -tf MyProg.jar
META-INF/
META-INF/MANIFEST.MF
lib/groovy-all-1.6.9.jar
MyProg.class
java -jar MyProg.jar
其中MyProg.class是groovy程序,而groovy未安装在运行java-jar MyProg.jar的计算机上

我已经成功地在MyProg.jar文件中分解了groovy.jar文件,但这很混乱

有没有人有一个自定义类加载器可以满足我的要求?
有人有其他想法吗?

如果我理解正确,我认为您的案例比您链接到的案例简单,因为它解决了其他jar位于调用方jar之外的情况,而您希望引用jar中的jar

我使用,它自动包含资源,包括jar。我只需右键单击相关包并设置构建路径。其他IDE可能也有同样的功能


如果你不使用IDE(?!),它只不过是一个zip文件。您可以使用任何zip archiver来创建JAR文件,只要您确保清单文件是第一个文件。

您不能轻松地将不同的JAR捆绑在一起,因为清单文件的类路径条目只引用JAR本身之外的JAR

一些工具可能会帮助您更改jar并更改其类加载机制。看看为什么你的问题是封闭的