1. 反應堆
反應堆這個名字聽上去挺專業,其實就是多個模塊組成的一個構建結構罷了,而單一模塊項目自身就是該項目的反應堆。反應堆包含了各模塊之間的依賴關系,從而Maven計算出合理的構建順序。當然,反應堆計算出來的順序都不能是一個“閉環”,比如說模塊A的構建依賴于模塊B,那么就回去構建模塊B,但是構建模塊B的過程中,經過反應堆分析,模塊B的構建依賴于模塊A,那么這就形成了一個構件的“閉環”。這樣就會報錯。到底是“雞生蛋?還是蛋生雞?”。TCSTAR7034
2.商賬追收剪裁反應堆
一般來說,開發者會構建整個項目,或者選擇單獨的模塊進行構建。如果一切順利的話,整體構建挺爽的。但是一旦整體構建發現某個模塊構建失敗。開發者發現問題,調整好后僅僅想構建這一個模塊,這就叫做剪裁反應堆。在聚合項目根目錄下執行如下語句
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] ------------------------------------------------------------------------
在原聚合項目的基礎上得出的反應堆中構建MavenAccount-persist模塊
3. 總結
剪裁反應堆是為了找到問題模塊,分析問題后單獨構建的,靈活使用反應堆命令可以快速構建大項目。尤其在項目十分龐大的時候,剪裁反應堆,顯得十分重要。
posted on 2011-06-08 09:25
墻頭草 閱讀(221)
評論(0) 編輯 收藏