最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于jar包與war包的區(qū)別及說(shuō)明

 更新時(shí)間:2024年05月20日 11:54:14   作者:Kevin騎熊貓打老虎  
這篇文章主要介紹了關(guān)于jar包與war包的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

1. jar 包

JAR(Java Archive),是與平臺(tái)無(wú)關(guān)的文件格式。

它允許將多個(gè)文件組合成要給壓縮文件。

其實(shí)可以對(duì)比一下:jarrar ,j 可以理解成 java。

jar 包其實(shí)就是 java 項(xiàng)目壓縮包,是通過(guò) java 程序壓縮產(chǎn)生的壓縮包。

jar 包是通過(guò) JavaSE 程序打成的包。

jar 與 zip 異同

jar 文件格式以流行的

zip 文件格式為基礎(chǔ)。

同:jar、zip 用于壓縮和發(fā)布異:jar 還用于

  • 部署
  • 封裝庫(kù)、組件、插件程序
  • 可被編譯器、jvm 等工具直接使用

另外 jar 包還含有特殊的文件,如 manifest 和部署描述符,用來(lái)指示工具如何處理特定的 jar。

jar 包目錄結(jié)構(gòu)如下:

根目錄
   |
   |---- 該包的 java 類文件目錄
   |
   |---- META-INF 目錄          // 存放該包和擴(kuò)展的配置數(shù)據(jù)

jar 包主要用途

在 jar 包中包含已經(jīng)寫(xiě)好的一些類,這些類打包到一起便于存放管理。

將 jar 包引入到自己的項(xiàng)目中,就可以直接使用這些 jar 包中的類和屬性(從前這些 jar 包都會(huì)被扔到 lib/ 目錄下)。

2. war 包

war 包就是 web 項(xiàng)目壓縮包。war 是一個(gè)可以直接運(yùn)行的 web 模塊,一個(gè) war 包可以理解成就是一個(gè) web 項(xiàng)目,通常用于網(wǎng)站,打成包部署到容器(如 tomcat)中。

以 Tomcat 為例,war 包放置在其\webapps\ 目錄下,然后啟動(dòng) Tomcat,這個(gè)包就會(huì)自動(dòng)解壓,就相當(dāng)于發(fā)布了。

war 包是 Sun 公司提出的一種 web 應(yīng)用程序格式,與 jar 類似,也是很多文件的壓縮包。

war 包是 JavaWeb 程序打的包。,包含了項(xiàng)目的所有東西,包括:

  • 代碼編譯成的 class 文件
  • 依賴包
  • 配置文件
  • 網(wǎng)站頁(yè)面(html、jsp、servlet、圖片文件等)

war 包中文件按照一定目錄結(jié)構(gòu)來(lái)組織。

根目錄
   |
   |---- .html、.jsp (或包含這兩種文件的目錄)
   |
   |---- WEB-INF 目錄           // 存放 .class 文件和配置文件
   |        |
   |        |---- web.xml       // 該應(yīng)用的配置文件
   |        |
   |        |---- classes 目錄
   |        |         |
   |        |         |---- 編譯好的 servlet 類和 js
   |        |         |
   |        |         |---- servlet 所依賴的其他類(如 JavaBean)
   |        |----- lib          // 存放該包的依賴 jar 包
   |
   |---- META-INF 目錄          // 存放該包和擴(kuò)展的配置數(shù)據(jù)

其中,servlet 所依賴的類也可以打包成 jar 包放在 WEB-INF 下的lib目錄下。

war 包部署優(yōu)勢(shì)

一個(gè) Web 應(yīng)用程序的目錄和文件可能會(huì)非常多,將這個(gè) Web 應(yīng)用程序部署到另一臺(tái)機(jī)器上,會(huì)不太方便,因此,可以將這個(gè) Web 應(yīng)用程序打包成 Web 歸檔文件(war),過(guò)程和把 java 類文件打包成 jar 相似。

利用 war 文件,可以把 servlet 類文件和相關(guān)的資源集中在一起進(jìn)行發(fā)布。

這樣一來(lái),Web 應(yīng)用程序不再是按照目錄層次結(jié)構(gòu)來(lái)進(jìn)行部署,而是把 war 文件作為部署單元來(lái)使用。

開(kāi)發(fā)階段不適合使用 war 的原因

開(kāi)發(fā)階段經(jīng)常需要添加或刪除 web 應(yīng)用程序的內(nèi)容、更新 Servlet 類文件,而每一次改動(dòng)后,重新建立 war 包將很浪費(fèi)時(shí)間。

在開(kāi)發(fā)階段,我們通常將Servlet源文件放到Web應(yīng)用程序目錄的 src 子目錄下,以便和Web資源文件區(qū)分。在建立 war 文件時(shí),只需要將 src 目錄從 Web 應(yīng)用程序目錄中移走,就可以打包了。

在產(chǎn)品發(fā)布階段,使用 war 包比較合適,因?yàn)檫@個(gè)時(shí)候,幾乎不需要再做什么改動(dòng)了。

部署 war 包到 tomcat

1.開(kāi)發(fā)人員打 war 包給測(cè)試,現(xiàn)在測(cè)試拿到一個(gè) war 包:test.war

2.打開(kāi) tomcat 的安裝路徑 ,假設(shè)是D:\Tomcat\apache-tomcat-7.0.68,然后進(jìn)入到 webapps 文件夾中,把 test.war 放到 webapps 文件夾。

3.啟動(dòng)Tomcat

如果不需要更改配置文件:到這一步就可以了。

在瀏覽器輸入

http://localhost:tomcat_port/test

即可打開(kāi) test 項(xiàng)目的 index.jsp 頁(yè)面( tomcat_port 是自己的端口號(hào))。如果 test 項(xiàng)目沒(méi)有 index.jsp 頁(yè)面,那就需要打開(kāi)其他相應(yīng)的頁(yè)面。

如果需要更改配置文件:

4.關(guān)閉 tomcat。

5.刪除 test.war文件(因?yàn)?tomcat 啟動(dòng)后會(huì)自動(dòng)解壓 test.war,如果在 tomcat 啟動(dòng)的狀態(tài)下去刪除 war 包,解壓好的文件夾也會(huì)被一并刪除,所以需要停止 tomcat, 然后刪掉 war 包,之后再啟動(dòng)。項(xiàng)目文件夾就不會(huì)被認(rèn)為是 war 解壓而來(lái)的)。

6.由于剛剛啟動(dòng)過(guò) tomcat,tomcat會(huì)自動(dòng)解壓縮 test.war 為 test 文件夾。所以我們?cè)?webapps 下面可以看到 test 文件夾。打開(kāi) test 文件夾更改配置文件即可。

7.更新完配置之后,啟動(dòng) tomcat。

8.瀏覽器打開(kāi)即可。

3. jar 包 vs. war 包

jar 包war 包
定位類的歸檔文件web 應(yīng)用程序/ Web 歸檔文件
查看內(nèi)容方式WinRaR 可以直接打開(kāi)需要先把后綴名改為.rar,再用 WinRaR 打開(kāi);或者保留后綴名不變,手動(dòng)選擇打開(kāi)方式時(shí),手動(dòng)選出 WinRaR.exe(推薦打開(kāi)方式中不能自動(dòng)識(shí)別 WinRaR)
內(nèi)容java類、配置文件Servlet、html頁(yè)面、java類、圖像文件以及組成 web 應(yīng)用程序的其他資源
目錄結(jié)構(gòu)META-INF目錄:存放包和擴(kuò)展的配置數(shù)據(jù),如:安全性、版本信息WEB-INF目錄:存放 .class 文件和配置文件;META-INF目錄:存放包和擴(kuò)展的配置數(shù)據(jù),如:安全性、版本信息
應(yīng)用部署、封裝庫(kù)、組件和插件程序部署/發(fā)布
部署項(xiàng)目區(qū)別SpringBoot項(xiàng)目(因?yàn)镾pringBoot 內(nèi)置了 tomcat)Spring項(xiàng)目

SpringBoot 打包方式區(qū)別

其實(shí) SpringBoot 項(xiàng)目既可以打成 jar 包,也可以打成 war 包發(fā)布。

打成 jar 包打成 war 包
運(yùn)行直接通過(guò)內(nèi)置 tomcat 運(yùn)行需要安裝 tomcat(可以靈活選擇 tomcat 版本),然后將 war 包放到 tomcat 的 webapps/ 目錄下
tomcat 配置變更在 SpringBoot 的配置文件中設(shè)置直接對(duì) tomcat 配置修改
日志內(nèi)置 tomcat 沒(méi)有日志輸出,得靠 jar 包應(yīng)用輸出日志tomcat 有自己的日志輸出

SpringBoot 適宜打成 war 包的場(chǎng)景

SpringBoot 打成的 jar 包自帶 tomcat 容器,適用于單個(gè)項(xiàng)目。

但若要把多個(gè)項(xiàng)目部署到同一個(gè) tomcat 容器上,則需要分別打成 war 包。

再將多個(gè) war 包部署到同一個(gè) tomcat 容器上,以達(dá)到節(jié)省資源目的。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java中常用的排序方法

    java中常用的排序方法

    今天給大家介紹一下,java中常用的排序方法。
    2013-04-04
  • springboot redis使用lettuce配置多數(shù)據(jù)源的實(shí)現(xiàn)

    springboot redis使用lettuce配置多數(shù)據(jù)源的實(shí)現(xiàn)

    這篇文章主要介紹了springboot redis使用lettuce配置多數(shù)據(jù)源的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 簡(jiǎn)介Java的Spring框架的體系結(jié)構(gòu)以及安裝配置

    簡(jiǎn)介Java的Spring框架的體系結(jié)構(gòu)以及安裝配置

    這篇文章主要介紹了Java的Spring框架的體系結(jié)構(gòu)以及安裝配置,Spring框架是Java的SSH三大web開(kāi)發(fā)框架之一,需要的朋友可以參考下
    2015-12-12
  • 區(qū)分java中String+String和String+char

    區(qū)分java中String+String和String+char

    這篇文章主要向大家詳細(xì)區(qū)分了java中String+String和String+char,感興趣的小伙伴們可以參考一下
    2016-01-01
  • @Value注入List、數(shù)組、Set、Map問(wèn)題

    @Value注入List、數(shù)組、Set、Map問(wèn)題

    這篇文章主要介紹了@Value注入List、數(shù)組、Set、Map問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java進(jìn)行異常處理的9種最佳實(shí)踐

    Java進(jìn)行異常處理的9種最佳實(shí)踐

    異常處理是Java編程中不可或缺的部分,但也是最容易被忽視或?qū)崿F(xiàn)不當(dāng)?shù)沫h(huán)節(jié),本文總結(jié)了Java異常處理的9種最佳實(shí)踐,這些實(shí)踐來(lái)自項(xiàng)目開(kāi)發(fā)的經(jīng)驗(yàn)總結(jié),希望能幫助大家避開(kāi)常見(jiàn)陷阱
    2025-05-05
  • Mybatis優(yōu)化檢索的方法詳解

    Mybatis優(yōu)化檢索的方法詳解

    MyBatis是一款優(yōu)秀的基于Java的持久層框架,它可以將 SQL 語(yǔ)句和數(shù)據(jù)庫(kù)中的記錄映射成為 Java 對(duì)象,并且支持靈活的 SQL 查詢語(yǔ)句,在Mybatis中,可以使用動(dòng)態(tài)SQL來(lái)靈活構(gòu)造SQL語(yǔ)句,從而滿足各種不同的檢索需求,本文介紹Mybatis如何優(yōu)化檢索,需要的朋友可以參考下
    2024-05-05
  • Java編程求二叉樹(shù)的鏡像兩種方法介紹

    Java編程求二叉樹(shù)的鏡像兩種方法介紹

    這篇文章主要介紹了Java編程求二叉樹(shù)的鏡像兩種方法介紹,分享了兩種方法,遞歸與非遞歸,每種方法又分別介紹了兩種解決思路,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • springboot?項(xiàng)目啟動(dòng)后無(wú)日志輸出直接結(jié)束的解決

    springboot?項(xiàng)目啟動(dòng)后無(wú)日志輸出直接結(jié)束的解決

    這篇文章主要介紹了springboot?項(xiàng)目啟動(dòng)后無(wú)日志輸出直接結(jié)束的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 這一次搞懂Spring事務(wù)是如何傳播的

    這一次搞懂Spring事務(wù)是如何傳播的

    這篇文章主要介紹了這一次搞懂Spring事務(wù)是如何傳播的,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08

最新評(píng)論

通化县| 济宁市| 宽城| 安龙县| 宜春市| 江西省| 卢湾区| 宜丰县| 磴口县| 芜湖市| 南乐县| 乌拉特中旗| 息烽县| 鹤峰县| 扬州市| 定襄县| 奎屯市| 济源市| 东宁县| 阿巴嘎旗| 浏阳市| 孟连| 共和县| 闵行区| 玛沁县| 铜陵市| 佛坪县| 德安县| 惠来县| 阿鲁科尔沁旗| 浙江省| 扎囊县| 玛纳斯县| 伊通| 碌曲县| 长阳| 尚义县| 申扎县| 拉孜县| 同心县| 波密县|