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、更多討論
聚合項目的反應堆及其裁剪