jar/war/ear檔案的區別
jar/war/ear檔案的區別
jar/war/ear三種檔案,在檔案結構上,三者並沒有什麼不同,它們都採用zip或jar檔案檔案壓縮格式。但是它們的使用目的有所區別:
Jar檔案(副檔名為. Jar)包含Java類的普通庫、資源(resources)、輔助檔案 (auxiliary files)等
War檔案(副檔名為.War)包含全部Web應用程式。在這種情形下,一個Web應用程式被定義為單獨的 一組檔案、類和資源,使用者可以對jar檔案進行封裝,並把它作為小型服務程式(servlet)來訪問。
Ear檔案(副檔名為.Ear)包含全部企業應用程式。在這種情形下,一個企業應用程式被定義為多個jar 檔案、資源、類和Web應用程式的集合。
每一種檔案(.jar, .war, .ear)只能分別由應用伺服器(application servers)、小型服務程式容器(servlet containers)、EJB容器(EJB containers)等進行處理。
JAR:Java Archive file ;
WAR:Web Archive file
EAR :Enterprise Archive file
jar:包含內容 class、properties檔案,是檔案封裝的最小單元;
war:Servlet、JSP頁面、JSP標記庫、JAR庫檔案、HTML/XML文件和其他公用資原始檔,如圖片、音訊檔案等;
ear:除了包含JAR、WAR以外,還包括EJB元件
部署檔案 application-client.xml web.xml application.xml
級別 小 中 大
jar:封裝類
war:封裝web站點
ear:可以封裝ejb
WAR的使用:
如果想生成war檔案:可以使用如下命令:jar -cvf web1.war *
如果想檢視web1.war中都有哪些檔案,可以使用命令:jar -tf web1.war
如果想直接解壓web1.war檔案,可以使用命令:jar -xvf web1.war
另外,也可使用winrar軟體選擇zip壓縮方式,並將壓縮檔案字尾名改為war即可壓縮生成war檔案;同樣使用winrar軟體可以強行開啟war檔案,或者強行解壓war檔案
使用jar命令與winrar軟體的區別在於前者在壓縮檔案的同時會生成MetaINF資料夾,內包含MANIFEST.MF檔案。