jar包和war包


Jar (Java archive), 將實現了某功能的所有類及輔助資源用ZIP壓縮形式打包而成的一個文件, 便於代碼的管理和重復使用。當使用別人提供的jar時,只需要在classpath環境變量中添加這個jar文件,java虛擬機會自動在內存中解壓這個jar包,把這個jar文件當作一個路徑,在這個路徑中查找所需要的類。

Jar通常包括class文件和META-INF 目錄。META-INF目錄中的MANIFEST.MF文件,是JAR包的描述文件。它包含了JAR文件的內容描述,並在運行時向JVM提供應用程序的信息。META-INF還可以包含Maven的pom文件。

jar包內部結構:

 

MANIFEST.MF文件簡介

以Manifest-Version屬性開頭 ;每行都是鍵值對,最長72個字符。超過需要續行,下一行以空格開頭,以空格開頭的行都會被視為前一行的續行。每行都以回車結束,否則該行將會被忽略 。使用空行分隔主屬性和package屬性,class 要以.class結尾,package 要以 / 結尾 ,使用"/"而不是點分隔package 和class。

Class-Path管理JAR的依賴包,路徑使用"/"分隔目錄,空格分隔多個包,與平台無關 。

Main-Class:指定程序的入口,用於創建可執行的jar包。

 

 

War (web archive),用zip格式壓縮封裝整個web應用,通常一個WAR文件就是一個Web應用程序。包含 Servlet、HTML頁面、JSP頁面、JSP標記庫、JAR庫文件、圖像文件以及組成Web應用程序的其他資源。部署到另一台機器上,只需復制一個war文件放在webapps或者work目錄,tomcat啟動時會自動解壓。

war引用war時會將被引用的war的資源全部拷貝到當前war的相同目錄下,重名文件會被替換。

War包內部結構:

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM