Java 合并Mac上处理的JAR文件

Java 合并Mac上处理的JAR文件,java,jar,processing,executable-jar,Java,Jar,Processing,Executable Jar,嗨,我知道有很多关于如何合并jar的文章,但我的问题有点不同 我想使用bash脚本来合并jar文件。我所有的jar(来自处理)都在。/lib 以下是我的工作: mkdir-tmp FILES=lib/*.jar 对于T,在$file中;做 (cd-tmp;jar-xf../$T) 完成 jar-cfm combined.jar tmp/META-INF/MANIFEST.MF-C tmp。 当然,我会得到一个jar文件,但它的行为并不像它应该的那样 顺便说一句:我确保最后提取的jar是主应用程

嗨,我知道有很多关于如何合并jar的文章,但我的问题有点不同

我想使用bash脚本来合并jar文件。我所有的jar(来自处理)都在。/lib 以下是我的工作:

mkdir-tmp
FILES=lib/*.jar
对于T,在$file中;做
(cd-tmp;jar-xf../$T)
完成
jar-cfm combined.jar tmp/META-INF/MANIFEST.MF-C tmp。
当然,我会得到一个jar文件,但它的行为并不像它应该的那样


顺便说一句:我确保最后提取的jar是主应用程序jar。

当我从处理中获取所有必需的jar时,这个脚本对我来说很好(在我的例子中是OSX上的2.1)。以下是运行“lib”文件夹之前的内容:

MySketch.jar
core.jar
gluegen-rt-natives-macosx-universal.jar
gluegen-rt.jar
jogl-all-natives-macosx-universal.jar
jogl-all.jar

如果您使用任何库,您还需要包括这些库的所有jar。

它是如何工作的?应该怎么做?不清楚你想要什么。或者确保“最后提取的jar是主应用程序jar”意味着什么,因为每个jar都包含自己的清单。由于所有其他JAR都只是库而不是可执行文件,我需要确保使用正确的清单和正确的主类。它的作用方式是我找不到引用的某些库。@John找不到在其他JAR中引用的类意味着出现了其他问题;最坏的情况是,损坏的舱单会试图运行错误的主管道。另外,如果您不使用
@
回复,您回复的人可能不会收到您已回复的通知。我会使用它来实现这一点。使用本机脚本在某种程度上损害了Java的编码方式(即使是在打包时):“编写一次,我的意思是,bug,到处运行”——)rednoyz很好,它适合你。我还没有跳到Processing 2.1,因为OpenGL不工作。但我会努力的。我想出了另一个办法。