jar包和war包區(qū)別解析
在開(kāi)發(fā)階段不適合使用war包,因?yàn)樵陂_(kāi)發(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)無(wú)關(guān)的文件格式,它允許將許多文件組合成一個(gè)壓縮文件,為 J2EE 應(yīng)用程序創(chuàng)建的jar文件是 EAR 文件(企業(yè) jar文件),jar文件格式以流行的 ZIP 文件格式為基礎(chǔ)。與 ZIP 文件不同的是,jar文件不僅用于壓縮和發(fā)布,而且還用于部署和封裝庫(kù)、組件和插件程序,并可被像編譯器和 JVM 這樣的工具直接使用。在 jar中包含特殊的文件,如 manifests 和部署描述符,用來(lái)指示工具如何處理特定的 jar。
通常是開(kāi)發(fā)時(shí)要引用通用類,打成jar包便于存放管理,當(dāng)你使用某些功能時(shí)就需要這些jar包的支持,需要導(dǎo)入jar包。
jar包就是java的類進(jìn)行編譯生成的class文件打包的壓縮包,包里面就是一些class文件。當(dāng)我們自己使用Maven寫(xiě)一些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)目打包,通常是開(kāi)發(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)等。通常是開(kāi)發(fā)時(shí)要引用的通用類,打成包便于存放管理。簡(jiǎn)單來(lái)說(shuō),jar包就是別人已經(jīng)寫(xiě)好的一些類,然后對(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)來(lái)訪問(wèn)。 war包是一個(gè)可以直接運(yùn)行的web模塊,通常用于網(wǎng)站,打成包部署到容器中。以Tomcat來(lái)說(shuō),將war包放置在其\webapps\目錄下,然后啟動(dòng)Tomcat,這個(gè)包就會(huì)自動(dòng)解壓,就相當(dāng)于發(fā)布了。war包是Sun提出的一種web應(yīng)用程序格式,與jar類似,是很多文件的壓縮包。war包中的文件按照一定目錄結(jié)構(gòu)來(lái)組織。根據(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包:直接通過(guò)內(nèi)置Tomcat運(yùn)行,不需要額外安裝Tomcat。如需修改內(nèi)置Tomcat的配置,只需要在SpringBoot的配置文件中配置。內(nèi)置Tomcat沒(méi)有自己的日志輸出,全靠jar包應(yīng)用輸出日志。但是比較方便,快速,比較簡(jiǎn)單。
war包:傳統(tǒng)的應(yīng)用交付方式,需要安裝Tomcat,然后放到wabapps目錄下運(yùn)行war包,可以靈活選擇Tomcat版本,可以直接修改Tomcat的配置,有自己的Tomcat日志輸出,可以靈活配置安全策略,相對(duì)打成jar包來(lái)說(shuō)沒(méi)那么快速方便。
到此這篇關(guān)于jar包和war包區(qū)別及理解的文章就介紹到這了,更多相關(guān)jar包和war包區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot加載配置文件的實(shí)現(xiàn)方式總結(jié)
在實(shí)際的項(xiàng)目開(kāi)發(fā)過(guò)程中,我們經(jīng)常需要將某些變量從代碼里面抽離出來(lái),放在配置文件里面,以便更加統(tǒng)一、靈活的管理服務(wù)配置信息。所以本文將為大家總結(jié)一下SpringBoot加載配置文件的常用方式,需要的可以參考一下2022-03-03springboot中如何配置LocalDateTime JSON返回時(shí)間戳
這篇文章主要介紹了springboot中如何配置LocalDateTime JSON返回時(shí)間戳問(wèn)題。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06Java/Android 實(shí)現(xiàn)簡(jiǎn)單的HTTP服務(wù)器
這篇文章主要介紹了Java/Android 如何實(shí)現(xiàn)簡(jiǎn)單的HTTP服務(wù)器,幫助大家更好的進(jìn)行功能測(cè)試,感興趣的朋友可以了解下2020-10-10Java如何實(shí)現(xiàn)多個(gè)線程之間共享數(shù)據(jù)
這篇文章主要介紹了Java如何實(shí)現(xiàn)多個(gè)線程之間共享數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11@Scheduled定時(shí)器原理及@RefreshScope相互影響
這篇文章主要為大家介紹了@Scheduled定時(shí)器原理及@RefreshScope相互影響詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07