Java,java下載
解壓和打包Jar
本文地址:http://blog.csdn.net/caroline_wendy
簡介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" 標誌的指定順序相同。
樣本 1將兩個類檔案歸檔到一個名為 classes.jar 的歸檔檔案中:
jar cvf classes.jar Foo.class Bar.class
樣本 2使用現有的資訊清單檔 "mymanifest" 並將 foo/ 目錄中的所有檔案歸檔到 "classes.jar" 中:
jar cvfm classes.jar mymanifest -C foo/ .
樣本 3在c盤下建立了
Executable Jar File類型的lm.jar包。
C:\>jar cf lm.jar Lm.class Lm.java
樣本 4添加v參數顯示打包詳細過程:
C:\jar>jar cvf lm.jar Lm.class
標明清單(manifest):增加:Lm.class(讀入= 410) (寫出= 283)(壓縮了 30%)其中c參數表示建立jar包,f參數是指定的jar包檔案名稱。在使用jar命令的時候,要指定必須的參數: -c 建立新的歸檔檔案 -t 列出歸檔目錄 -x 解壓縮已歸檔的指定(或所有)檔案 -u 更新現有的歸檔檔案
樣本 5運行剛產生的jar包:
C:\>java -jar lm.jar
Failed to load Main-Class manifest attribute from lm.jar根據英文錯誤提示,好像讀取lm.jar包的manifest屬性失敗。
樣本 6建立不包含META-INF/MANIFEST.MF檔案的jar包
C:\jar>jar cvfM lm1.jar Lm.class
增加:Lm.class(讀入= 410) (寫出= 283)(壓縮了 30%)
樣本 7顯示jar包中的檔案
C:\jar>jar tf lm.jarMETA-INF/META-INF/MANIFEST.MFLm.class
樣本 8由於建立jar包的時候用了M參數,所以就沒有META-INF目錄和META-INF/MANIFEST.MF檔案
C:\jar>jar tf lm1.jarLm.class
樣本 9顯示jar包的檔案和檔案詳細資料
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包中讀入的時間,目錄或檔案名稱
樣本 10解壓jar包到目前的目錄中
C:\jar>jar xf lm.jar
不顯示任何資訊,但是解壓成功