日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

花5分钟过一遍jar包和war包的区别,以后都不会再迷茫

發布時間:2025/3/21 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 花5分钟过一遍jar包和war包的区别,以后都不会再迷茫 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

做Java開發,jar包和war包接觸的都比較多。

今天,小編把兩者的聯系好好梳理下,花5分鐘過一遍以后不再迷茫,你值得擁有:

一、概念

1. jar包:jar包是類的歸檔文件,與平臺無關的文件格式,它允許將許多文件組合成一個壓縮文件。JAR 文件格式以流行的 ZIP 文件格式為基礎。但與 ZIP 文件不同的是,JAR 文件不僅用于壓縮和發布,而且還用于部署和封裝庫、組件和插件程序,并可被像編譯器和 JVM 這樣的工具直接使用;

簡單來說,jar包就是別人已經寫好的一些類,然后對這些類進行打包。可以將這些jar包引入到你的項目中,可以直接使用這些jar包中的類和屬性,這些jar包一般放在BOOT-INF文件夾的lib目錄下。

2. war包:war包是JavaWeb程序打的包,war包里面包括寫的代碼編譯成的class文件,依賴的包,配置文件,所有的網站頁面,包括html,jsp等等。一個war包可以理解為是一個web項目,里面是項目的所有東西。

簡單來說,war是一個可以直接運行的web模塊,通常用于網站,打成包部署到容器中。以Tomcat來講,將war包放置在其\webapps\目錄下,然后啟動Tomcat,這個包就會自動解壓,就相當于發布了。

二、目錄結構

jar包里的com里放的就是class文件,配置文件,但是沒有靜態資源的文件(index.jsp),大多數 JAR 文件包含一個 META-INF 目錄,它用于存儲包和擴展的配置數據,如安全性和版本信息;

war包中的文件按照一定目錄結構來組織,和項目的文件結構保持一致。其根目錄下包含有html和jsp文件,或者包含有這兩種文件的目錄。(META-INF和jar包作用一樣)WEB-INF目錄下含有一個web.xml文件和一個classes目錄,web.xml是這個應用的配置文件,而classes目錄下則包含編譯好的servlet類和jsp,或者servlet所依賴的其他類(如JavaBean),通常這些所依賴的類也可以打包成jar包放在WEB-INF下的lib目錄下。

三、根本區別

WAR文件代表了一個Web應用程序,把WAR文件作為部署單元來使用,而JAR是類的歸檔文件。

雖然WAR文件和JAR文件的文件格式是一樣的,并且都是使用jar命令來創建,但就其應用來說,WAR文件和JAR文件是有根本區別的。JAR文件的目的是把類和相關的資源封裝到壓縮的歸檔文件中,而對于WAR文件來說,一個WAR文件代表了一個Web應用程序,它可以包含 Servlet、HTML頁面、Java類、圖像文件,以及組成Web應用程序的其他資源,而不僅僅是類的歸檔文件。

四、使用場景

  • 產品開發階段:因為在此發階段經常需要添加或刪除Web應用程序的內容,更新 Servlet類文件,而每一次改動后,重新建立WAR文件將是一件浪費時間的事情,所以不適合使用WAR文件,使用JAR更便利;
  • 產品發布階段:因為在這個時候,幾乎不需要再做什么改動了,所以使用WAR文件是比較合適的。
  • 五、部署項目

    (篇幅原因,打包方法不介紹了,相關博客很多,大家可以自行百度)

    • 部署普通的Spring項目用“war”包就可以,下面展示war包部署在Tomcat中運行方法:
    • 首先需要在虛擬機安裝一個Tomcat;
    • 將編譯器打好的war包復制到Tomcat下的webapps的文件夾內;
    • 在Tomcat的bin目錄下,運行 ./startup.bat ,啟動Tomcat,就相當于發布了項目。

    部署SpringBoot項目用“jar”包就可以,因為SpringBoot內置tomcat,下面展示jar包部署方法:(我的jar包名稱為myjob.jar)

    • 查看進程:ps -ef | grep myjob.jar;
    • 殺死進程:kill -9 進程號;
    • 移除舊的jar包,將新的jar包復制進目錄(通常放在/home目錄下);
    • 啟動程序:nohup java -jar myjob.jar &;
    • 實時查看日志:tail -1000f nohup.out。

    總結

    以上是生活随笔為你收集整理的花5分钟过一遍jar包和war包的区别,以后都不会再迷茫的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。