我一直在四处寻找并希望澄清maven在使用 -T 选项时如何执行多模块项目的构建。在confluence page上,他们注意到
此构建模式分析项目的依赖关系图,并根据项目的依赖关系图计划可并行构建的模块......
所以据我所知,如果我执行mvn clean install -T 4,我有模块A,B,C,D,E和F这样
C,E和F都会同时开始,而D和B只会在C完成后才开始。这是对的吗?
我的进一步问题是:家属(D)和家属(D)在其父母(C)出现后立即开始
关于我的设置的信息:在Maven 3.3.3和Maven 3.1.1上都发生了这种情况。我目前正在使用Java 1.7.0_79
答案 0 :(得分:1)
正如您在graphic they start off are based on their levels上看到的那样。所以我假设模块C,E和F首先启动所有这些模块(级别1)完成下一级别,模块B和D将启动,最后模块A。
模块内的执行基于生命周期,这意味着模块将运行生命周期的所有阶段,例如,如果执行mvn -T 4 package
所有模块将运行所有周期,包括包周期。
如果运行mvn -T 4 install
所有模块都运行所有生命周期步骤(包含测试阶段)......
如果您拥有大量模块,smart-builder可以加快速度。