jar包和war包區別及理解


開發階段不適合使用war包,因為在開發階段,經常需要添加或刪除Web應用程序的內容,更新 Servlet類文件,而每一次改動后,重新建立war包將是一件浪費時間的事情。在產品發布階段,使用war文件比較合適的,因為在這個時候,幾乎不需要再做什么改動了。

jar包
jar是類的歸檔文件
JAR(Java Archive,Java 歸檔文件)是與平台無關的文件格式,它允許將許多文件組合成一個壓縮文件,為 J2EE 應用程序創建的jar文件是 EAR 文件(企業 jar文件),jar文件格式以流行的 ZIP 文件格式為基礎。與 ZIP 文件不同的是,jar文件不僅用於壓縮和發布,而且還用於部署和封裝庫、組件和插件程序,並可被像編譯器和 JVM 這樣的工具直接使用。在 jar中包含特殊的文件,如 manifests 和部署描述符,用來指示工具如何處理特定的 jar。
通常是開發時要引用通用類,打成jar包便於存放管理,當你使用某些功能時就需要這些jar包的支持,需要導入jar包。
jar包就是java的類進行編譯生成的class文件打包的壓縮包,包里面就是一些class文件。當我們自己使用Maven寫一些java程序,進行打包生成jar包。同時在可以在其他的工程下使用,但是我們在這個工程依賴的jar包,在其他工程使用該JAR包也要導入。
 

war包
war包是一個Web應用程序
一個web程序進行打包便於部署的壓縮包,里面包含我們web程序需要的一些東西,其中包括web.xml的配置文件,前端的頁面文件,以及依賴的jar。便於我們部署工程,直接放到tomcat的webapps目錄下,直接啟動tomcat即可。同時,可以使用WinRAR查看war包,直接將后綴.war改成.rar。

Web存檔(war)文件包含Web應用程序的所有內容。它減少了傳輸文件所需要的時間

jar包和war包區別
jar是java普通項目打包,通常是開發時要引用通用類,打成jar包便於存放管理。當你使用某些功能時就需要這些jar包的支持,需要導入jar包。war是java web項目打包,web網站完成后,打成war包部署到服務器,目的是為了節省資源,提供效率。 jar文件(擴展名為. Jar,Java Application Archive)包含Java類的普通庫、資源(resources)、輔助文件(auxiliary files)等。通常是開發時要引用的通用類,打成包便於存放管理。

簡單來說,jar包就是別人已經寫好的一些類,然后對這些類進行打包。可以將這些jar包引入到你的項目中,可以直接使用這些jar包中的類和屬性,這些jar包一般放在lib目錄下。 war文件(擴展名為.War,Web Application Archive)包含全部Web應用程序。在這種情形下,一個Web應用程序被定義為單獨的一組文件、類和資源,用戶可以對jar文件進行封裝,並把它作為小型服務程序(servlet)來訪問。

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目錄下。 Ear文件(擴展名為.Ear,Enterprise Application Archive)包含全部企業應用程序。在這種情形下,一個企業應用程序被定義為多個jar文件、資源、類和Web應用程序的集合。 SpringBoot項目既可以打成war包發布,也可以找成jar包發布。 jar包:直接通過內置Tomcat運行,不需要額外安裝Tomcat。如需修改內置Tomcat的配置,只需要在SpringBoot的配置文件中配置。內置Tomcat沒有自己的日志輸出,全靠jar包應用輸出日志。但是比較方便,快速,比較簡單。 war包:傳統的應用交付方式,需要安裝Tomcat,然后放到wabapps目錄下運行war包,可以靈活選擇Tomcat版本,可以直接修改Tomcat的配置,有自己的Tomcat日志輸出,可以靈活配置安全策略,相對打成jar包來說沒那么快速方便。

 


免責聲明!

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



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