1. 反應(yīng)堆
反應(yīng)堆這個(gè)名字聽上去挺專業(yè),其實(shí)就是多個(gè)模塊組成的一個(gè)構(gòu)建結(jié)構(gòu)罷了,而單一模塊項(xiàng)目自身就是該項(xiàng)目的反應(yīng)堆。反應(yīng)堆包含了各模塊之間的依賴關(guān)系,從而Maven計(jì)算出合理的構(gòu)建順序。當(dāng)然,反應(yīng)堆計(jì)算出來的順序都不能是一個(gè)“閉環(huán)”,比如說模塊A的構(gòu)建依賴于模塊B,那么就回去構(gòu)建模塊B,但是構(gòu)建模塊B的過程中,經(jīng)過反應(yīng)堆分析,模塊B的構(gòu)建依賴于模塊A,那么這就形成了一個(gè)構(gòu)件的“閉環(huán)”。這樣就會(huì)報(bào)錯(cuò)。到底是“雞生蛋?還是蛋生雞?”。TCSTAR7034
2.商賬追收剪裁反應(yīng)堆
一般來說,開發(fā)者會(huì)構(gòu)建整個(gè)項(xiàng)目,或者選擇單獨(dú)的模塊進(jìn)行構(gòu)建。如果一切順利的話,整體構(gòu)建挺爽的。但是一旦整體構(gòu)建發(fā)現(xiàn)某個(gè)模塊構(gòu)建失敗。開發(fā)者發(fā)現(xiàn)問題,調(diào)整好后僅僅想構(gòu)建這一個(gè)模塊,這就叫做剪裁反應(yīng)堆。在聚合項(xiàng)目根目錄下執(zhí)行如下語句
mvn clean install -pl ../MavenAccount-email
輸出如下
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] MavenAccount-aggregator ........................... SUCCESS [0.437s]
[INFO] MavenAccount-email ................................ SUCCESS [4.728s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.352s
[INFO] Finished at: Mon Jun 06 11:17:44 CST 2011
[INFO] Final Memory: 10M/25M
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] MavenAccount-aggregator ........................... SUCCESS [0.437s]
[INFO] MavenAccount-email ................................ SUCCESS [4.728s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.352s
[INFO] Finished at: Mon Jun 06 11:17:44 CST 2011
[INFO] Final Memory: 10M/25M
[INFO] ------------------------------------------------------------------------
在原聚合項(xiàng)目的基礎(chǔ)上得出的反應(yīng)堆中構(gòu)建MavenAccount-persist模塊
3. 總結(jié)
剪裁反應(yīng)堆是為了找到問題模塊,分析問題后單獨(dú)構(gòu)建的,靈活使用反應(yīng)堆命令可以快速構(gòu)建大項(xiàng)目。尤其在項(xiàng)目十分龐大的時(shí)候,剪裁反應(yīng)堆,顯得十分重要。