在學習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文件就是把類和一些相關的資源封裝到一個包中,便於程序中引用。