maven中的module及聚合項目


視屏地址:https://v.qq.com/x/page/q0512bl7gti.html

PPT地址:https://github.com/WuZhiyong1759/xiaoketangPPT/tree/master/XKT2017%E5%B9%B46%E6%9C%8809%E6%97%A5PPT

分享人:吳志勇

1、背景介紹

modules

從字面意思來說,module就是模塊,而pom.xml中的modules也正是這個意思,用來管理同個項目中的各個模塊;如果maven用的比較簡單,或者說項目的模塊在pom.xml沒進行劃分,那么此元素是用不到的;不過一般大一點的項目是要用到的。

如果我們的項目分成了好幾個模塊,那么我們構建的時候是不是有幾個模塊就需要構建幾次了(到每個模塊的目錄下執行mvn命令)?當然,你逐個構建沒問題,但是非要這么麻煩的一個一個的構建嗎,那么簡單的做法就是使用聚合,一次構建全部模塊

2、知識剖析

1)什么是maven聚合項目

2)如何創建一個maven的聚合項目

3)和普通的maven項目相比聚合項目有什么特點

4)各個module之間的關系是怎樣的

3、常見問題

聚合項目中的pom文件配置是什么樣子的

4、解決方案

百度

1)maven聚合項目也就是多模塊項目,(根據項目需求,把功能或服務劃分成不同的模塊進行開發,子模塊繼承父類通過maven統一管理,聚合)

2)創建一個maven聚合項目

第一步

建立一個普通的maven Java工程(并刪除掉src文件夾)

第二部

右擊項目名選擇新建module

輸入模塊名


建立多個module后目錄結構如下:


此時聚合項目已建成父類pom為:

子類module的pom為:

3)和普通項目相比聚合項目的父類pom文件的packaging的值為pom,在父類中有指向子類的<modules>元素,在子類的pom中有有指向父類的<parent>元素,每個module的目錄結構和一般的maven項目沒有區別。在父類pom中添加的依賴在子pom中可以繼承

4)對于聚合模塊來說,它知道哪些被聚合的模塊,但那些被聚合的模塊不知道這個聚合模塊的存在。

對于繼承關系的父pom來說,它不知道有哪些子模塊繼承與它,但那些子模塊都必須知道自己的父pom是什么。

5、編碼實戰

見視屏

6、擴展思考

maven中的約定優于配置

7、參考文獻

www.baidu.com

8、更多討論

聚合項目的反應堆及其裁剪

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容