如何组合两个Jar文件

是否可以组合两个jar文件,以便在applet标签中我可以简单地执行类似的操作

archive="jarjar.jar/jar1.jar"... ...archive="jarjar.jar/jar2.jar"... instead of archive="jar1.jar"... ...archive="jar2.jar"... 

我只需要一个jar文件,所以把两个jar文件放在一个文件夹中对我没用。

您需要提取两个JAR文件并重新生成一个。

 jar -xvf jar1.jar tmp jar -xvf jar2.jar tmp cd tmp jar -cvf jar3.jar . 

请参考以下答案 。

当然,只需提取两个jar文件并重新创建一个新文件

 $ mkdir tmp $ (cd tmp; unzip -uo ../jar1.jar) $ (cd tmp; unzip -uo ../jar2.jar) $ jar -cvf combined.jar -C tmp . 

使用tmp的东西确保将两个现有的jar解压缩到一个干净的目录中,然后从中创建新的jar。

请注意,您可能还需要合并其中包含的任何manifest.mf文件,如果还有任何在该文件命令中也包含’-m’选项。

将zipgroupfileset与Ant Zip任务一起使用

    

可能会帮助你。

如果您使用的是gradle,只需将以下内容添加到build.gradle即可。 无需插件。 如果您需要特殊选项,那么请使用Fatjar插件,正如initialZero建议的那样。

 task superSimpleJar(type: Jar) { baseName = project.name + '-all' from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } with jar } 

对于Android项目,将其添加到app / build.gradle并运行“gradlew superSimpleJar”。 在build / libs / app-all.jar中找到jar

 task superSimpleJar(type: Jar) { baseName = project.name + '-all' from { configurations.compile.findAll { it.getName() != 'android.jar' }.collect { it.isDirectory() ? it : zipTree(it) } } } 

还有eclipse fatjar插件。

只需解压缩两个jar文件,然后将结果压缩成一个zip文件,然后再将其重命名为jar。

但正如adarshr所说:更好地使用jar命令。

         

将此代码保存在build.xml文件中,并将其保存在同一个文件夹中,以保存要组合的所有jar文件。 打开cmd ,给出文件夹路径并运行命令: ant zip

它将生成out.jar ,它是所有jar子的组合。

提取两个jar子并创建一个新的工作。 (使用上面显示的jar命令)。 关于清单文件的一个警告是,您要提取要在最后保留其清单文件的jar。