Maven依賴管理大全

大家都知道隨着業務的進展,項目會變得越來越多,這個時候如果沒有一個統一的依賴管理中心,就會有很多問題發生。

如果沒有依賴管理中心,會發生哪些問題呢?

  1. 項目的依賴會有很多重複,一模一樣的依賴可能要重複寫多次,浪費時間。
  2. 如果沒有一個公共的代碼依賴項目,像很多工具類、pojo對象需要重複寫多個,最可怕的是不同項目之間的相同工具類、pojo名稱一樣,但是裏面的代碼有可能不一樣。
  3. 同一個依賴不同項目之間可能版本也會不一樣,無法進行版本的統一管理和升級。
  4. install的時候需要每個項目一個個進行,無法進行統一的install操作,項目一多就非常浪費時間。

當然它的危害還不止這些,所以我們需要有一個統一的依賴管理維護中心,別擔心Maven都給我們提供好了。

如果想研究Maven怎麼進行依賴才更加合適的童鞋,可以下載SpringBoot源碼項目,SpringBoot的依賴關係就做的特別好,這邊我也是借鑑SpringBoot的依賴關係來進行項目依賴改造的。

那問題來了,我要怎麼進行依賴統一管理呢?

因爲項目可能不是在同一個目錄下面,所以沒辦法用傳統的最外層pom來管理每一個子項目的pom依賴。

這邊我們可以這麼來,新建一個project-parent項目,該項目沒有實際的代碼,只有一份pom.xml文件,這個pom.xml文件就是用來統一管理每一個項目的依賴,每個子項目都會繼承這個project-parent項目的pom依賴。

project-parent項目類型的packaging必須是pom,否則子項目無法繼承。

然後再創建一個公用的project-common項目,作爲子項目公共代碼依賴項目,子項目可以通過dependency進行公共代碼依賴項目的依賴引進。

project-parent項目中放在dependencys中的dependenc依賴可以直接被子項目所繼承,如果不想依賴被子項目繼承,可以放在dependencyManagement中。

關係圖如下所示:

image

有些人可能就會問,那parent和common有什麼區別?這就等同於我們java的繼承和接口的區別,parent必須繼承,但是common可以選擇實現。

pom文件關鍵字介紹:

  • pom文件中profiles可以用來定義各個環境所對應的配置文件,這樣就可以解決不同環境,配置文件打包的問題了。
  • pom文件中build用來構建項目jar、war、source源文件之類。
  • pom文件中dependencies用來定義本項目的依賴關係,所有項目所需要的依賴都可以在這邊配置。
  • pom文件中properties用來定義一些常量,在pom中的其它地方可以直接引用。
  • pom文件中repositories主要是依賴和擴展的遠程倉庫配置。
  • pom文件中distributionManagement是項目分發信息,在執行mvn deploy後表示要發佈的位置。

具體pom文件關鍵字信息可以閱讀下面這篇文章:https://www.jb51.net/article/129417.htm

規範約束:

  1. 禁止子項目脫離父項目進行單獨的pom文件配置。
  2. 子項目依賴不要和project-common依賴衝突,否則很容易出現循環依賴。
  3. 子項目禁止出現依賴的version版本號,統一放在project-parent項目中管理。

總結:

每一個東西都需要管理,項目依賴也不例外。如果放任項目依賴的混亂,不進行統一的管理,那日後升級項目依賴的時候,那將是災難級的。

想要更多幹貨、技術猛料的孩子,快點拿起手機掃碼關注我,我在這裏等你哦~

林老師帶你學編程https://wolzq.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章