一. jar 包
JAR(Java Archive,Java 歸檔文件)是與平台無關的文件格式,它允許將許多文件組合成一個壓縮文件。JavaSE程序可以打包成Jar包(J其實可以理解為Java了)。
JAR 文件格式以流行的 ZIP 文件格式為基礎。與 ZIP 文件不同的是,JAR 文件不僅用於壓縮和發布,而且還用於部署和封裝庫、組件和插件程序,並可被像編譯器和 JVM 這樣的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用來指示工具如何處理特定的 JAR。
簡單來說,jar包就是別人已經寫好的一些類,然后對這些類進行打包。可以將這些jar包引入到你的項目中,可以直接使用這些jar包中的類和屬性,這些jar包一般放在lib目錄下。
二. war 包
war是一個可以直接運行的web模塊,通常用於網站,打成包部署到容器中。以Tomcat來說,將war包放置在其\webapps\目錄下,然后啟動Tomcat,這個包就會自動解壓,就相當於發布了。
war包是Sun提出的一種web應用程序格式,與jar類似,是很多文件的壓縮包。war包中的文件按照一定目錄結構來組織。根據其根目錄下包含有html和jsp文件,或者包含有這兩種文件的目錄,另外還有WEB-INF目錄。通常在WEB-INF目錄下含有一個web.xml文件和一個classes目錄,web.xml是這個應用的配置文件,而classes目錄下則包含編譯好的servlet類和jsp,或者servlet所依賴的其他類(如JavaBean)。通常這些所依賴的類也可以打包成jar包放在WEB-INF下的lib目錄下。
簡單來說,war包是JavaWeb程序打的包,war包里面包括寫的代碼編譯成的class文件,依賴的包,配置文件,所有的網站頁面,包括html,jsp等等。一個war包可以理解為是一個web項目,里面是項目的所有東西。
三. 兩者區別
WAR文件代表了一個Web應用程序,JAR是類的歸檔文件。
1). 我這里工作中一般是開發打war包給測試,比如說現在測試拿到一個war包,名字叫test.war。
2). 打開Tomcat的安裝路徑 ,假設是“D:\Tomcat\apache-tomcat-7.0.68”,然后進入到 webapps文件夾中,把 test.war放到 webapps文件夾。
3). 啟動Tomcat。
如果不需要更改配置文件:到這一步就可以了。
在瀏覽器輸入“http:localhost:tomcat_port/test即可打開test項目的 index.jsp頁面(port是自己的端口號)。如果test項目沒有index.jsp頁面,那就需要打開其他相應的頁面。
如果需要更改配置文件:
4). 關閉 Tomcat。
5). 刪除 test.war文件(如果在tomcat啟動的狀態下刪去war包,解壓好的文件夾也會被一並刪除,所以需要在解壓后停止tomcat, 然后刪掉war包,這時再啟動。這時項目文件夾就會被認為不是war解壓而來。)。
6). 由於剛剛啟動過Tomcat,Tomcat會自動解壓縮test.war為 test文件夾。所以我們在webapps下面可以看到test文件夾。打開test文件夾更改配置文件即可。
7). 更新完配置之后,啟動Tomcat。
8). 瀏覽器打開即可。