Java-解壓和打包Jar
解壓和打包Jar
簡介1. 壓縮包:jar cvf filename.jar a.class b.class: 壓縮指定檔案;jar cvf weibosdkcore.jar *: 全部壓縮;
2. 解壓包:jar xvf test.jar
jar命令有產生、查看、更新、解開jar包的作用,包含META-INF/MANIFEST.MF檔案。它是jar包產生的時候,自動建立的,主要負責指定jar包的main檔案位置和當前檔案夾。jar命令的參數詳解:
C:\>jar cf lm.jar
'c' 標誌要求指定清單或輸入檔案!用法:
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" 標誌的指定順序相同。
jar cvf classes.jar Foo.class Bar.class
jar cvfm classes.jar mymanifest -C foo/ .
Executable Jar File類型的lm.jar包。
C:\>jar cf lm.jar Lm.class Lm.java
C:\jar>jar cvf lm.jar Lm.class
C:\>java -jar lm.jarFailed to load Main-Class manifest attribute from lm.jar根據英文錯誤提示,好像讀取lm.jar包的manifest屬性失敗。
C:\jar>jar cvfM lm1.jar Lm.class增加:Lm.class(讀入= 410) (寫出= 283)(壓縮了 30%)
C:\jar>jar tf lm.jarMETA-INF/META-INF/MANIFEST.MFLm.class
C:\jar>jar tf lm1.jarLm.class
C:\jar>jar tvf lm.jar 0 Mon Sep 26 23:09:34 CST 2011 META-INF/ 75 Mon Sep 26 23:09:34 CST 2011 META-INF/MANIFEST.MF 410 Mon Sep 26 22:09:00 CST 2011 Lm.class這些詳細資料包括讀入的位元組,jar包中讀入的時間,目錄或檔案名稱
C:\jar>jar xf lm.jar不顯示任何資訊,但是解壓成功