我已經發現了合併jar文件的不同描述,如Fat-jar。合併Jar文件?
但是我尋找一個更簡單的解決方案,就像下面的例子。
罐子-cmvf ../manifest.m ˚FMyJar.jar LIB * /罐
也許有人知道正確的語法兩個或更多瓶合併成一個?
它被合併但文件無法執行。
增加類的JAR文件的類路徑
您可能需要引用從一個JAR文件中的其他JAR文件的類。
例如,在典型的情況下,applet捆綁在JAR文件中,其JAR文件的清單引用了不同的JAR文件(或多個不同的JAR文件),作爲該applet的實用工具。
指定要包含在applet或應用程序的清單文件的Class-Path頭字段中的類。在類路徑頭採用以下形式:
Class-Path: jar1-name jar2-name directory-name/jar3-name
通過在manifest使用Class-Path頭,你可以避免調用java運行應用程序時,指定一個長-classpath標誌。 注意:Class-Path頭指向本地網絡上的類或JAR文件,而不是JAR文件中的JAR文件或通過Internet協議訪問的類。要將JAR文件中的JAR文件中的類加載到類路徑中,您必須編寫自定義代碼來加載這些類。例如,如果MyJar.jar包含另一個名爲MyUtils.jar的JAR文件,則不能在MyJar.jar的清單中使用Class-Path標頭將MyUtils.jar中的類加載到類路徑中。 示例
我們想要將MyUtils.jar中的類加載到MyJar.jar中使用的類路徑中。這兩個JAR文件位於同一個目錄中。
我們首先創建一個名爲Manifest.txt一個文本文件,其內容如下:
Class-Path: MyUtils.jar
警告:文本文件必須以新行或回車符結束。如果最後一行不以新行或回車結束,則不會正確解析。
然後,我們創建一個名爲MyJar.jar通過輸入以下命令JAR文件:
罐子立方英尺MyJar.jar Manifest.txt MyPackage的/ *類
這將創建一個清單與JAR文件以下內容:現在在MyUtils.jar
Manifest-Version: 1.0
Class-Path: MyUtils.jar
Created-By: 1.7.0_06 (Oracle Corporation)
的類加載到類路徑當您運行MyJar.jar。
爲什麼還打算嘗試結合罐子?這將爲您實現什麼?爲什麼不相反,只要確保可以使用兩個單獨的jar文件? –
我試圖合併它,因爲我不關心帶庫的文件夾,它們必須與主jar文件位於同一個文件夾中。謝謝 –