jar命令的用法:ui
下面是jar命令的幫助說明:code
用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...遞歸
選項包括:索引
-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/ .ip
下文假設編譯後的class文件在bin目錄下ci
1、打包成通常的jar包io
輸入以下命令便可: Cmd代碼 複製代碼 收藏代碼編譯
jar cvf counter.jar -C bin .
其中,「-C bin」其實是告訴jar命令先cd到bin目錄下,再在此目錄執行沒有參數「-C bin」的命令,等價於:class
Cmd代碼 複製代碼 收藏代碼cli
cd bin jar cvf counter.jar . // "."表明當前路徑
2、打包成可運行的jar包
要打包成可運行的jar包,有兩種方法,一是手動建立MANIFEST.MF文件,並在其中指定主類;二是使用jar的-e參數指定可運行jar包的入口點(即main類的徹底名稱).
以Java源代碼行數統計程序的打包爲例,演示如何打包:
1)首先編輯MANIFEST.MF文件,內容以下: Mf代碼 收藏代碼複製代碼
Manifest-Version: 1.0 Created-By: rsljdkt Class-Path: . Main-Class: Main
說明:
第一行指定清單的版本,若無,則JDK默認生成:Manifest-Version: 1.0
第二行指明建立的做者,若無,則JDK默認生成Created-By: 1.6.0_22(Sun Microsystems Inc.)
第三行指定主類所在類路徑,
第四行指明程序運行的主類
2)使用jar命令進行打包: Cmd代碼 複製代碼 收藏代碼
jar cvfm counter.jar MANIFEST.MF -C bin .
說明:
參數f:指定打包後的包名。
參數m:指定自定義的MANIFEST.MF清單文件,不然,JDK會自動生成不包含Main-Class的默認清單。
參數c:指定是建立新的歸檔文件。
參數v:在標準輸出中生成詳細輸出,該選項是可選的。
執行以下命令便可:
Cmd代碼 複製代碼 收藏代碼
jar cvfe counter.jar Main -C bin .
方法二:使用Eclipse的Export功能:
1、打包成通常的jar包:
步驟以下:
1)在要打包的項目上右擊,選擇Export
2)在彈出的窗口中,選擇Java -> JAR File,而後點擊next按鈕
3)在JAR File Specification窗口中,設置打包成的文件名和存放位置,點擊兩側next
4)在JAR Manifest Specification窗口中,設置MANIFEST.MF清單文件的配置,
若僅僅打包成單純的jar包的話,不用作任何修改,採起默認便可 若打包成可執行jar包的話,可使用已存在的MANIFEST文件或者直接選擇Main class
5)點擊Finish按鈕,完成打包。
2、打包成可運行的jar包
步驟以下:
1)在要打包的項目上右擊,選擇Export
2)在彈出的窗口中,選擇Java -> Runnable JAR File,而後點擊next按鈕
3)在Runnable JAR File Specification窗口中,選擇Launch configuration和Export destination
4)點擊Finish按鈕,打包完成。