我一直在环顾四周,想了解一下使用 时 maven 如何执行多模块项目的构建。 -T选项。在他们的confluence page ,他们注意到
This build-mode analyzes your project's dependency graph and schedules modules that can be built in parallel according to the dependency graph of your project...
所以据我了解,如果我执行 mvn clean install -T 4 我有模块 A、B、C、D、E 和 F 这样
C、E 和 F 将同时开始,而 D 和 B 仅在 C 完成后才开始。那是对的吗?
我的进一步问题是:受抚养人(D 和 B)是否在其 parent (C)是
关于我的设置的信息:这在 Maven 3.3.3 和 Maven 3.1.1 上都发生在我身上。我目前正在使用 Java 1.7.0_79
最佳答案
正如您在 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如果您有大量模块,则可以加快速度。
关于multithreading - Maven 多线程构建如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31143529/