2013-01-31 72 views
0

嗨,我知道有大量關於如何合併罐子的文章,但我的問題有點不同。從Mac上處理合並JAR文件

我想使用bash腳本來合併jar文件。我所有的罐子(處理)正躺在./lib 這裏是我做的:

mkdir tmp 
FILES=lib/*.jar 
for T in $FILES; do 
    (cd tmp; jar -xf ../$T) 
done 
jar -cfm combined.jar tmp/META-INF/MANIFEST.MF -C tmp . 

當然,我得到一個JAR文件,但它不是演戲像它應該。

BTW:我確定最後提取的jar是主要的應用程序jar。

+0

*它是如何行事的?它應該如何行事? –

+0

目前還不清楚你要求什麼。或者確保「最後提取的jar是主要應用程序jar」的意思。 –

+0

因爲每個JAR都包含它自己的Manifest。由於所有其他JAR只是庫而不可執行,所以我需要確保使用正確的主類的正確清單。 它的行爲方式我沒有找到一些引用的庫。 – codingjoe

回答

1

這個腳本對我來說工作得很好,當我從Processing處理所有需要的罐子(在我的情況下,2.1在OSX上)。這裏是我的「的lib」文件夾中的內容運行之前:

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

如果你使用任何庫,您需要包括所有那些罐子爲好。

+0

rednoyz很好,它適合你。由於OpenGL不起作用,我還沒有跳到Processing 2.1。但我會嘗試。我已經找到了另一種方式。 – codingjoe