目前分類:Java (2)

瀏覽方式: 標題列表 簡短摘要

建立一個 jar 檔案,會同時在 jar 檔案內自動建立 META-INF/MANIFEST.MF 記載關於 jar 檔案的各項資訊。若是沒有特別指定, MANIFEST.MF 預設的內容為:


Manifest-Version: 1.0

整個 MANIFEST.MF 就是由一行一行的 Header: Value 的格式所組成的文字檔案。

Main-Class 可以指定開始執行程式的位置,也就是 public static void main(String[] args) 所在的 class 檔。例如 MyJar.jar 的 manifest 內容為:


Manifest-Version: 1.0
Main-Class: MyPackage.MyClass

當執行 java -jar MyJar.jar 的時候,就會以 MyPackage/MyClass.class 裡面的 main 函數為程式開始執行的地方。

sleeprabbit 發表在 痞客邦 留言(0) 人氣()

把Java程式執行所需要的資源集合成單一檔案,例如calss檔、聲音、圖片、數據資料等等的檔案,利用jdk所提供的工具jar打包成一個Java Archive (Jar) 檔案。


如果直接下達jar指令而沒有其他參數,會輸出如下的說明資料:


用法:jar {ctxui}[vfm0Me] [jar 檔案] [清單檔案] [進入點] [-C 目錄] 檔案 ...
選項:
    -c  建立新的歸檔
    -t  列出歸檔的目錄
    -x  從歸檔中擷取已命名的 (或所有) 檔案
    -u  更新現有歸檔
    -v  在標準輸出中產生詳細輸出
    -f  指定歸檔檔案名稱
    -m  包含指定清單檔案中的清單資訊
    -e  為獨立應用程式指定應用程式進入點
        已隨附於可執行 jar 檔案中
    -0  僅儲存;不使用 ZIP 壓縮方式
    -M  不為項目建立清單檔案
    -i  為指定的 jar 檔案產生索引資訊
    -C  變更至指定目錄並包含後面所列的檔案
如果有任何檔案是目錄,則會對其進行遞迴處理。
清單檔案名稱、歸檔檔案名稱和進入點名稱
的指定順序與指定 'm' 旗標、'f' 旗標和 'e' 旗標的順序相同。

範例 1:將兩個類別檔案歸檔至名為 classes.jar 的歸檔中:
       jar cvf classes.jar Foo.class Bar.class
範例 2:使用現有清單檔案 'mymanifest' 並將
           foo/ 目錄中的所有檔案歸檔至 'classes.jar' 中:
       jar cvfm classes.jar mymanifest -C foo/ .



sleeprabbit 發表在 痞客邦 留言(0) 人氣()