Maven:使用mvn goal -rf:module恢复构建后的完整反应器摘要

时间:2017-10-05 15:28:46

标签: maven

我正在使用maven来管理一个大型项目的构建,它分为几个从根构建的模块。因此,在这种情况下,maven将使用reactor功能以正确的顺序构建每个模块。这样的事情:

root/pom.xml
    sp1/pom.xml
    sp2/pom.xml
    sp3/pom.xml
    sp4/pom.xml

我使用命令

从根目录使用maven构建项目
mvn clean install

如果构建正常,maven将打印反应堆摘要:

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Root Project ....................................... SUCCESS [ 18.271 s]
[INFO] sp1 ................................................ SUCCESS [  2.034 s]
[INFO] sp2 ................................................ SUCCESS [ 22.770 s]
[INFO] sp3 ................................................ SUCCESS [03:39 min]
[INFO] sp4 ................................................ SUCCESS [04:39 min]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 46:34 min
[INFO] Finished at: 2017-10-04T17:08:11+00:00
[INFO] Final Memory: 256M/1599M
[INFO] ------------------------------------------------------------------------

但是,如果其中一个子项目的构建阶段失败,会发生什么?例如,sp2子项目中的一些测试失败,我修复它们并使用此命令从sp2重新启动构建

mvn clean install -rf :sp2

项目构建正确。然后,maven仅从sp2打印反应器,但不打印完整的反应器。像这样的东西: ```

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] sp2 ................................................ SUCCESS [ 22.770 s]
[INFO] sp3 ................................................ SUCCESS [03:39 min]
[INFO] sp4 ................................................ SUCCESS [04:39 min]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 46:34 min
[INFO] Finished at: 2017-10-04T17:08:11+00:00
[INFO] Final Memory: 256M/1599M
[INFO] ------------------------------------------------------------------------

我的问题是:是否有可能获得完整的反应堆摘要(包括先前执行中构建的模块?)

1 个答案:

答案 0 :(得分:0)

Reactor Sorting 期间解析了

Reactor Build Order ,这导致了项目列表的确定性执行序列。命令--resume-from( - rf)用于:

mvn clean install -rf :sp2

从指定项目恢复reactor构建,其中订单类似于已经确定的顺序,它只是遍历列表中剩余的项目,即更新的Reactor构建顺序,因此 Reactor Summary < / em>对应于新的构建顺序。