1. 程式人生 > 實用技巧 >Maven 分模組構建

Maven 分模組構建

Maven的分模組構建

場景1:

整個大的專案 PROJ 分成了 ModuleA 、 ModuleB, B依賴A。
A必須開發完以後 maven install 專案B才能編譯通過。隨著模組更多,加入了ModuleC , C依賴B。
C要想正確編譯,先安裝A,再安裝B,它才能編譯通過。

所以,我們需要一種機制:
在整體專案上執行各種操作的時候,專案下的各模組自動執行相應的操作。
在 PROJ 上執行 maven install:
專案的聚合

場景2:

專案是基於Spring技術棧來開發的, ModuleA 、 ModuleB、ModuleC很可能是不同的專案組來開發的,如何統一管理專案中的依賴呢?其次,重複的配置怎麼辦?

所以,也需要一種機制:
讓PROJ專案來做整體的版本控制和公共依賴的配置,這樣的話,它下面的子模組只需要差異化配置即可。
專案的繼承

一、父專案工程

要點:

1.不包含任何程式碼,也就是說不包含 src 目錄

在這裡插入圖片描述

2. 其打包方式是 pom<packaging>pom</packaging>如下圖:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-aN08vuA1-1602212199791)(imges/image-20201009093545892.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-lOME2tDK-1602212199793)(imges/image-20201009094001401.png)]

4.做一些配置,如 版本控制 或一些公共的依賴。

在這裡插入圖片描述

二、子專案工程

子工程還可以是另外的一個 pom 型別的工程:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-Y3WpeP9A-1602212199797)(imges/image-20201009093857311.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-96HCoCad-1602212199799)(imges/image-20201009094655633.png)]
最後測試一下執行1009的 install操作。
在這裡插入圖片描述
在這裡插入圖片描述