jar包和war包区别及理解
在開發(fā)階段不適合使用war包,因?yàn)樵陂_發(fā)階段,經(jīng)常需要添加或刪除Web應(yīng)用程序的內(nèi)容,更新 Servlet類文件,而每一次改動(dòng)后,重新建立war包將是一件浪費(fèi)時(shí)間的事情。在產(chǎn)品發(fā)布階段,使用war文件比較合適的,因?yàn)樵谶@個(gè)時(shí)候,幾乎不需要再做什么改動(dòng)了。
jar包
jar是類的歸檔文件
JAR(Java Archive,Java 歸檔文件)是與平臺(tái)無關(guān)的文件格式,它允許將許多文件組合成一個(gè)壓縮文件,為 J2EE 應(yīng)用程序創(chuàng)建的jar文件是 EAR 文件(企業(yè) jar文件),jar文件格式以流行的 ZIP 文件格式為基礎(chǔ)。與 ZIP 文件不同的是,jar文件不僅用于壓縮和發(fā)布,而且還用于部署和封裝庫(kù)、組件和插件程序,并可被像編譯器和 JVM 這樣的工具直接使用。在 jar中包含特殊的文件,如 manifests 和部署描述符,用來指示工具如何處理特定的 jar。
通常是開發(fā)時(shí)要引用通用類,打成jar包便于存放管理,當(dāng)你使用某些功能時(shí)就需要這些jar包的支持,需要導(dǎo)入jar包。
jar包就是java的類進(jìn)行編譯生成的class文件打包的壓縮包,包里面就是一些class文件。當(dāng)我們自己使用Maven寫一些java程序,進(jìn)行打包生成jar包。同時(shí)在可以在其他的工程下使用,但是我們?cè)谶@個(gè)工程依賴的jar包,在其他工程使用該JAR包也要導(dǎo)入。
war包
war包是一個(gè)Web應(yīng)用程序
一個(gè)web程序進(jìn)行打包便于部署的壓縮包,里面包含我們web程序需要的一些東西,其中包括web.xml的配置文件,前端的頁(yè)面文件,以及依賴的jar。便于我們部署工程,直接放到tomcat的webapps目錄下,直接啟動(dòng)tomcat即可。同時(shí),可以使用WinRAR查看war包,直接將后綴.war改成.rar。
Web存檔(war)文件包含Web應(yīng)用程序的所有內(nèi)容。它減少了傳輸文件所需要的時(shí)間。
jar包和war包區(qū)別
jar是java普通項(xiàng)目打包,通常是開發(fā)時(shí)要引用通用類,打成jar包便于存放管理。當(dāng)你使用某些功能時(shí)就需要這些jar包的支持,需要導(dǎo)入jar包。war是java web項(xiàng)目打包,web網(wǎng)站完成后,打成war包部署到服務(wù)器,目的是為了節(jié)省資源,提供效率。
jar文件(擴(kuò)展名為. Jar,Java Application Archive)包含Java類的普通庫(kù)、資源(resources)、輔助文件(auxiliary files)等。通常是開發(fā)時(shí)要引用的通用類,打成包便于存放管理。簡(jiǎn)單來說,jar包就是別人已經(jīng)寫好的一些類,然后對(duì)這些類進(jìn)行打包。可以將這些jar包引入到你的項(xiàng)目中,可以直接使用這些jar包中的類和屬性,這些jar包一般放在lib目錄下。
war文件(擴(kuò)展名為.War,Web Application Archive)包含全部Web應(yīng)用程序。在這種情形下,一個(gè)Web應(yīng)用程序被定義為單獨(dú)的一組文件、類和資源,用戶可以對(duì)jar文件進(jìn)行封裝,并把它作為小型服務(wù)程序(servlet)來訪問。 war包是一個(gè)可以直接運(yùn)行的web模塊,通常用于網(wǎng)站,打成包部署到容器中。以Tomcat來說,將war包放置在其\webapps\目錄下,然后啟動(dòng)Tomcat,這個(gè)包就會(huì)自動(dòng)解壓,就相當(dāng)于發(fā)布了。war包是Sun提出的一種web應(yīng)用程序格式,與jar類似,是很多文件的壓縮包。war包中的文件按照一定目錄結(jié)構(gòu)來組織。根據(jù)其根目錄下包含有html和jsp文件,或者包含有這兩種文件的目錄,另外還有WEB-INF目錄。通常在WEB-INF目錄下含有一個(gè)web.xml文件和一個(gè)classes目錄,web.xml是這個(gè)應(yīng)用的配置文件,而classes目錄下則包含編譯好的servlet類和jsp,或者servlet所依賴的其他類(如JavaBean)。通常這些所依賴的類也可以打包成jar包放在WEB-INF下的lib目錄下。
Ear文件(擴(kuò)展名為.Ear,Enterprise Application Archive)包含全部企業(yè)應(yīng)用程序。在這種情形下,一個(gè)企業(yè)應(yīng)用程序被定義為多個(gè)jar文件、資源、類和Web應(yīng)用程序的集合。
SpringBoot項(xiàng)目既可以打成war包發(fā)布,也可以找成jar包發(fā)布。
jar包:直接通過內(nèi)置Tomcat運(yùn)行,不需要額外安裝Tomcat。如需修改內(nèi)置Tomcat的配置,只需要在SpringBoot的配置文件中配置。內(nèi)置Tomcat沒有自己的日志輸出,全靠jar包應(yīng)用輸出日志。但是比較方便,快速,比較簡(jiǎn)單。
war包:傳統(tǒng)的應(yīng)用交付方式,需要安裝Tomcat,然后放到wabapps目錄下運(yùn)行war包,可以靈活選擇Tomcat版本,可以直接修改Tomcat的配置,有自己的Tomcat日志輸出,可以靈活配置安全策略,相對(duì)打成jar包來說沒那么快速方便。
END
————————————————
版權(quán)聲明:本文為CSDN博主「*豬耳朵*」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/cjw12581/article/details/107463971
總結(jié)
以上是生活随笔為你收集整理的jar包和war包区别及理解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 及贷审核要多久
- 下一篇: 税费社保支出什么意思 社会保障税由谁支付