jar與war包的區別
在學習maven的過程中接觸到了jar包和war包。之前在寫小專案的時候真的遇到過war包,當時為了找到jar包,把war包的字尾名改成了.rar的壓縮檔案,在裡面提取出來jar包來用。其實jar包和war包都可以看成壓縮檔案,用解壓軟體都可以開啟,jar包和war包所存在的原因是,為了專案的部署和釋出,通常把專案打包,通常在打包部署的時候,會在裡面加上部署的相關資訊。這個打包實際上就是把程式碼和依賴的東西壓縮在一起,變成字尾名為.jar和.war的檔案,就是我們說的jar包和war包。但是這個“壓縮包”可以被編譯器直接使用,把war包放在tomcat目錄的webapp下,tomcat伺服器在啟動的時候可以直接使用這個war包。通常tomcat的做法是解壓,編譯裡面的程式碼,所以當檔案很多的時候,tomcat的啟動會很慢。
說了這麼多,還是沒有講jar包和war包的區別。jar包是java打的包,war包可以理解為javaweb打的包,這樣會比較好記。jar包中只是用java來寫的專案打包來的,裡面只有編譯後的class和一些部署檔案。而war包裡面的東西就全了,包括寫的程式碼編譯成的class檔案,依賴的包,配置檔案,所有的網站頁面,包括html,jsp等等。一個war包可以理解為是一個web專案,裡面是專案的所有東西。
什麼時候使用jar包或war包?當你的專案在沒有完全完成的時候,不適合使用war檔案,因為你的類會由於除錯之類的經常改,這樣來回刪除、建立war檔案很不方便,來回修改,來回打包,最好是你的專案已經完成了,不做修改的時候,那就打個war包吧,這個時候一個war檔案就相當於一個web應用程式;而jar檔案就是把類和一些相關的資源封裝到一個包中,便於程式中引用。
--------------------- 本文來自 In_new 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/qq_38663729/article/details/78275209?utm_source=copy