文章目錄
jar為什么誕生 java工程有大量文件,在部署的時(shí)候需要向服務(wù)器上傳大量文件,如果有了jar的話,只需上傳一個(gè)jar包就行。在早期Web瀏覽器必須重復(fù)多次請(qǐng)求Web服務(wù)器,以便下載完構(gòu)成一個(gè)“程序片”()的所有文件;但在將所有這些文件合并到一個(gè)JAR文件里以后,只需向遠(yuǎn)程服務(wù)器發(fā)出一次請(qǐng)求即可。如果我們依賴別人的項(xiàng)目的話jsp頁(yè)面以( )為擴(kuò)展名進(jìn)行保存.,就要將別人的class文件一個(gè)一個(gè)復(fù)制過(guò)來(lái)放到我們引用路徑下,如果有了jar,一個(gè)項(xiàng)目就是一個(gè)jar我們只需依賴別人的jar就行。如果引用的項(xiàng)目進(jìn)行了更新,我們要對(duì)比每個(gè)文件,進(jìn)行替換。如果有了jar只需替換一個(gè)jar。jar壓縮作用,減小體積jar包可以做混淆加密,防止反編譯 如何打jar包
用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
選項(xiàng):
-c 創(chuàng)建新檔案
-t 列出檔案目錄
-x 從檔案中提取指定的 (或所有) 文件

-u 更新現(xiàn)有檔案
-v 在標(biāo)準(zhǔn)輸出中生成詳細(xì)輸出
-f 指定檔案文件名
-m 包含指定清單文件中的清單信息
-n 創(chuàng)建新檔案后執(zhí)行 Pack200 規(guī)范化
-e 為捆綁到可執(zhí)行 jar 文件的獨(dú)立應(yīng)用程序
指定應(yīng)用程序入口點(diǎn)

-0 僅存儲(chǔ); 不使用任何 ZIP 壓縮
-P 保留文件名中的前導(dǎo) '/' (絕對(duì)路徑) 和 ".." (父目錄) 組件
-M 不創(chuàng)建條目的清單文件
-i 為指定的 jar 文件生成索引信息
-C 更改為指定的目錄并包含以下文件
如果任何文件為目錄, 則對(duì)其進(jìn)行遞歸處理。
清單文件名, 檔案文件名和入口點(diǎn)名稱的指定順序

與 'm', 'f' 和 'e' 標(biāo)記的指定順序相同。
示例 1: 將兩個(gè)類文件歸檔到一個(gè)名為 classes.jar 的檔案中:
jar cvf classes.jar Foo.class Bar.class
示例 2: 使用現(xiàn)有的清單文件 'mymanifest' 并
將 foo/ 目錄中的所有文件歸檔到 'classes.jar' 中:
jar cvfm classes.jar mymanifest -C foo/ .

war為什么誕生
war包誕生于出現(xiàn)的年代jsp頁(yè)面以( )為擴(kuò)展名進(jìn)行保存.,war 包是 Sun 提出的一種 web 應(yīng)用程序格式。它與 jar 類似,是很多文件的壓縮包。war 包中的文件按照一定目錄結(jié)構(gòu)來(lái)組織。
一般其根目錄下包含有 html 和 jsp 文件,或者包含有這兩種文件的目錄,另外還有 WEB-INF 目錄。通常在 WEB-INF 目錄下含有一個(gè) web.xml 文件和一個(gè) 目錄。web.xml 是這個(gè)應(yīng)用的配置文件,而 目錄下則包含編譯好的 類和 jsp,或者 所依賴的其他類(如 )。通常這些所依賴的類也可以打包成 jar 包放在 WEB-INF 下的 lib 目錄下。
如何打war包
與打jar包一樣都是用jar命令,只不過(guò)打war包的話,打包之前就要將要打包的目錄結(jié)構(gòu)與web程序的的目錄結(jié)構(gòu)保持一致
jar與war有什么區(qū)別 jar與war的種類(進(jìn)階)
jar與war也分為、thin、fat幾類
jar有、thin、fat
war有、thin
:只有我們自己寫的代碼或者配置文件
thin:不止有里包含的內(nèi)容,還包含依賴包
fat:包含在thin里還包含了內(nèi)嵌的web服務(wù)器,即這個(gè)fat jar自身不需要依賴其他文件就可以自己運(yùn)行。包含web運(yùn)行環(huán)境和web應(yīng)用及依賴
參考資料