Maven--反应堆(Reactor)
在一個多模塊的 Maven 項目中,反應堆是指所有模塊組成的一個構建結構。對于單模塊的項目,反應堆就是該模塊本身。但對于多模塊項目來說,反應堆就包含了各模塊之間繼承與依賴的關系,從而能夠自動計算出合理的模塊構建順序。
模塊間的依賴關系會將反應堆構成一個有向非循環圖(Directed Acyclic Graph, DAG),各個模塊是該圖的節點,依賴關系構成了有向邊。這個圖不允許出現循環,因此,當出現模塊 A 依賴于 B,而 B 又依賴于 A 的情況時,Maven 就會報錯。
?
?
一般來說,用戶會選擇構建整個項目或者選擇構建單個模塊,但有些時候,用戶會想要僅僅構建完整反應堆中的某些個模塊。換句話說,用戶需要實時地裁剪反應堆。
Maven 提供了很多的命令行選項支持裁剪反應堆,輸入??mvn -h?可以看到這些選項:
可以使用??-pl?選項指定構建某幾個模塊
1 mvn clean install -pl moduleA,moduleB,...?
使用?-am?選項可以同時構建所列模塊的依賴模塊
mvn clean install -pl moduleA -am如果 moduleA 依賴了 moduleB,這里就會構建 moduleB 和 moduleA
?
使用?-amd?選項可以同時構建依賴于所列模塊的模塊
mvn clean install -pl moduleA -amd如果 moduleB 和 moduleC 依賴于 moduleA,這里就會構建 moduleA,moduleB 和 moduleC
?
使用??-rf?選項可以在完整的反應堆構建順序基礎上指定從哪個模塊開始構建
mvn clean install -rf moduleA如果該完整的反應堆構建順序中,moduleA 位于第三,那么就從moduleA 開始構建一直到最后的模塊,moduleA 之前的模塊不構建。
?
在?-pf??-am?或者??-pl??-amd?的基礎上,還能應用 -rf 參數,以對裁剪后的反應堆再次裁剪。
mvn clean install -pl moduleA -amd -rf moduleB如果 moduleB 和 moduleC 依賴于 moduleA,這里就會構建 moduleB 和 moduleC
轉載于:https://www.cnblogs.com/microcat/p/7243074.html
總結
以上是生活随笔為你收集整理的Maven--反应堆(Reactor)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 房屋租赁管理系统(Java毕业设计-Sp
- 下一篇: HOJ 13828 Funfair