關於Maven中產生的一些問題
關於Maven中
產生的一些問題
一、項目的打包類型
jar
默認的打包格式
war
打包成需要部署的項目
pom
父類型為pom類型
二、 pom
簡單來說,一個多模組項目通過一個父POM 引用一個或多個子模組來定義。
項目中一般使用maven進行模組管理,每個模組下對應都有一個pom文件,pom文件中維護了各模組之間的依賴和繼承關係。項目模組化可以將通用的部分抽離出來,方便重用;修改一部分程式碼不再是build整個項目,縮短了build時間;此外各模組都有自己的pom文件,結構更清晰。
使用maven進行模組劃分管理,一般都會有一個父級項目,pom文件除了GAV(groupId, artifactId, version)是必須要配置的,另一個重要的屬性就是packaging打包類型,所有的父級項目的packaging都為pom,packaging默認是jar類型,如果不作配置,maven會將該項目打成jar包。作為父級項目,還有一個重要的屬性,那就是modules,通過modules標籤將項目的所有子項目引用進來,在build父級項目時,會根據子模組的相互依賴關係整理一個build順序,然後依次build。
而對於各個子項目,需要在其對應的pom文件開頭申明對父級項目的引用,通過GAV實現。對於子項目自己的GAV配置,GV如果不配置,則會從父級項目的配置繼承過來。子模組可通過dependencies標籤來添加自己的依賴,此外子類項目的packaging值只能是war或者jar,前面已經說過,packaging默認是jar類型。如果是需要部署的項目,則需要打包成war類型,如果只是內部調用或者是作服務使用,則推薦打包成jar類型。
————————————————
版權聲明:本文為CSDN部落客「mayunjeffrey」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接://blog.csdn.net/AAzpf/article/details/79650139
三、最後
為什麼要做此記錄,主要原因是對maven整個生命周期的不熟悉,和對多模組化的項目操作生疏。
結論是,如果項目模組多的話,一定要注意自己構建項目時的所有內容,其中包括項目名,層級包名,
pom.xml文件的配置;因為像層級模組,以及包名,依賴的導入,依賴的作用範圍這都是會引起項目無法啟動的問題!!!