2017-11-11 104 views
0

我試圖用--fail-at-end使用maven 3.3.9來構建一個多子模塊項目。運行這個階段的一個週期花費了很多時間(幾個小時),並且在每個週期中我都解決了構建一些子模塊和再次運行Maven構建(從另一個週期開始)的問題。 所以問題是:有沒有辦法迫使maven不要嘗試構建在以前的週期中成功構建的包?周圍的每一次 預先感謝maven包:skip成功構建的子模塊

+0

你真的在運行數小時以上的版本嗎?多少條代碼行(1000萬行?)?多少次測試? 10或5萬? – khmarbaise

回答

1

這聽起來像你有一個多模塊項目,然後您嘗試通過的迭代過程得到一個完整的,成功打造...

build -> fail -> fix the failure -> rebuild 

...和您希望恢復發生故障的模塊的循環,而不是每次都構建整個項目。

的標準方法來這個用例是使用-rf

-rf, --resume-from 
    Resume reactor from specified project 

例如,如果命名moduleD模塊失敗,則如下重新運行構建:

mvn -rf :moduleD install 

更多細節in the docs

在重新運行構建時,您也可以選擇不包含clean階段,從而允許Maven的增量編譯器確定需要重建的內容。