jarwar解壓
A. 今天學了jar命令以及怎麼樣解壓縮war和jar包2.梳理生產環境主機分布情況,以及其
java編程中每天都用不少jar文件,項目開發中不停地導包,在忙完了一天的工作,放下那些復雜的業務實現,不僅想問這些jar包怎麼生成的,jar包有哪些獨特的地方等等。
原來這些經常見到的jar包是jar命令生成的,java語言為我們在安裝jdk的時候,就隨jdk為我們在bin目錄中安裝好了,在windows系統中是jar.exe程序,Linux系統中為jar文件。
jar命令有生成,查看,更新或解開jar包的作用。jar包與其他的壓縮包很相似,不過它包含了META-INF/MANIFEST.MF文件,它是jar包生成的時候,自動創建的。
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/ .
實例1.
C:\>jar cf lm.jar Lm.class Lm.java
結果:在c盤下創建了Executable Jar File類型的lm.jar包。
實例2.添加v參數顯示打包詳細過程,
C:\jar>jar cvf lm.jar Lm.class
標明清單(manifest)
增加:Lm.class(讀入= 410) (寫出= 283)(壓縮了 30%)
其中c參數表示創建jar包,f參數是指定的jar包文件名。在使用jar命令的時候,要指定必須的參數,告訴他你要做什麼操作。這些參數包括
-c 創建新的歸檔文件
-t 列出歸檔目錄
-x 解壓縮已歸檔的指定(或所有)文件
-u 更新現有的歸檔文件
實例3.運行剛生成的jar包:
C:\>java -jar lm.jar
Failed to load Main-Class manifest attribute from
lm.jar
根據英文錯誤提示,好像讀取lm.jar包的manifest屬性失敗。
實例4.創建不包含META-INF/MANIFEST.MF文件的jar包
C:\jar>jar cvfM lm1.jar Lm.class
增加:Lm.class(讀入= 410) (寫出= 283)(壓縮了 30%)
實例5.顯示jar包中的文件
C:\jar>jar tf lm.jar
META-INF/
META-INF/MANIFEST.MF
Lm.class
實例6.由於創建jar包的時候用了M參數所以就沒有META-INF目錄和META-INF/MANIFEST.MF文件
C:\jar>jar tf lm1.jar
Lm.class
實例7.顯示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包中讀入的時間,目錄或文件名
實例8.解壓jar包到當前目錄中
C:\jar>jar xf lm.jar
不顯示任何信息,但是解壓成功
B. maven中jar和war的區別
jar包和war包的區別:
war是一個web模塊,其中需要包括WEB-INF,是可以直接運行的WEB模塊。而jar一般只是包括一些class文件,在聲明了Main_class之後是可以用java命令運行的.
它們都是壓縮的包,拿Tomcat來說,將war文件包放置它的webapps目錄下,啟動Tomcat,這個包可以自動進行解壓,也就是你的web目錄,相當於發布了。
war包:是做好一個web應用後,通常是網站,打成包部署到容器中。
jar包:通常是開發時要引用通用類,打成包便於存放管理。
ear包:企業級應用,通常是EJB打成ear包。
所有的包都是用jar打的,只不過目標文件的擴展名不一樣。
WAR是Sun提出的一種Web應用程序格式,與JAR類似,也是許多文件的一個壓縮包。這個包中的文件按一定目錄結構來組織:通常其根目錄下包含有Html和Jsp文件或者包含這兩種文件的目錄,另外還會有一個WEB-INF目錄,這個目錄很重要。通常在WEB-INF目錄下有一個web.xml文件和一個classes目錄,web.xml是這個應用的配置文件,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當然也可以放到系統的CLASSPATH中,但那樣移植和管理起來不方便。
C. jar war zip rar 這些文件有啥本質區別,我不是太懂
jar是java文件...
war不記得- -```
zip是可讀取的壓縮文件
rar是純壓縮文件
例如還有iso是鏡像文件
cso是壓縮鏡像文件
7z是類似於rar的...
一般擴展名為7z,rar,zip,都是壓縮包,通常解壓後使用
D. jar包和war包有什麼區別啊
WAR(Web Archive file)網路應用程序文件
是與平台無關的文件格式,它允許將許多文件組合成一個壓縮文件。為 J2EE 應用程序創建的 JAR 文件是 EAR 文件(企業 JAR 文件)war專用在web方面 。
JAR是JAVA的程序包,解壓以後有JAR和JAD文件,安裝只JAR的文件就可以使用。用在JAVA平台。
E. 運行war程序和運行jar的區別
其實從英文名稱就看得出來
jar Java ARchive,java歸檔文件
war Web application ARchive,web應用程序歸檔文件
ear Enterprise application ARchive,企業應用程序歸檔文件
是根據用途來進行區分的,相應的內容上也就有些區別,比方說war文件中一般都有web.xml配置文件。處理方式上也有區別,比方說tomcat會自動識別webapps文件夾下的war文件,解壓並部署,但對jar文件就不會這樣。
F. war包和jar包的區別
JavaSE程序可以打包成Jar包(J其實可以理解為Java了),而JavaWeb程序可以打包成war包(w其實可以理解為Web了)。然後把war發布到Tomcat的webapps目錄下,Tomcat會在啟動時自動解壓war包。
G. 理解:jar包和war包的區別
jar包和war包的區別:
war是一個web模塊,其中需要包括WEB-INF,是可以直接運行的WEB模塊。而jar一般只是包括一些class文件,在聲明了Main_class之後是可以用java命令運行的.
它們都是壓縮的包,拿Tomcat來說,將war文件包放置它的\webapps\目錄下,啟動Tomcat,這個包可以自動進行解壓,也就是你的web目錄,相當於發布了。
war包:是做好一個web應用後,通常是網站,打成包部署到容器中。
jar包:通常是開發時要引用通用類,打成包便於存放管理。
ear包:企業級應用,通常是EJB打成ear包。
所有的包都是用jar打的,只不過目標文件的擴展名不一樣。
WAR是Sun提出的一種Web應用程序格式,與JAR類似,也是許多文件的一個壓縮包。這個包中的文件按一定目錄結構來組織:通常其根目錄下包含有Html和Jsp文件或者包含這兩種文件的目錄,另外還會有一個WEB-INF目錄,這個目錄很重要。通常在WEB-INF目錄下有一個web.xml文件和一個classes目錄,web.xml是這個應用的配置文件,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當然也可以放到系統的CLASSPATH中,但那樣移植和管理起來不方便。
H. 怎麼用jar命令解壓war包到指定的文件家下
1、笨方法就是把該war包移動到該文件夾下 然後用jar -xvf解壓到當前的目錄下 。
2、也可不用移動解壓到指定文件夾的么命令:
jar xvf /home/work/test.war
這個命令就是把/home/work/test.war解壓到當前目錄
只不過需要給出全路徑而已