Maven 如何使一些项目并行建设?
我正在从事一个非常大的maven项目,它有400多个模块。为了加快构建速度,请执行以下操作:Maven 如何使一些项目并行建设?,maven,parallel-builds,Maven,Parallel Builds,我正在从事一个非常大的maven项目,它有400多个模块。为了加快构建速度,请执行以下操作: mvn install -T4 这会失败,因为一些模块相互依赖,它们必须放在一起 但是大多数其他模块是独立的,有没有办法保持一些模块的构建顺序,而其他模块是并行的?Maven的并行构建功能考虑了依赖关系。也就是说,如果一个模块依赖于另一个模块,它们将始终按顺序运行。这种自动排序是Maven反应堆最重要的功能 在以下情况下,模块B依赖于模块A: B依赖于a(即a列在B的依赖项块中)。请注意,坐标必须完
mvn install -T4
这会失败,因为一些模块相互依赖,它们必须放在一起
但是大多数其他模块是独立的,有没有办法保持一些模块的构建顺序,而其他模块是并行的?Maven的并行构建功能考虑了依赖关系。也就是说,如果一个模块依赖于另一个模块,它们将始终按顺序运行。这种自动排序是Maven反应堆最重要的功能 在以下情况下,模块B依赖于模块A:
- B依赖于a(即a列在B的依赖项块中)。请注意,坐标必须完全匹配,即一个常见的错误是依赖项部分的版本错误。(您可以使用enforcer插件的-规则
- A是B使用的插件(尽管在使用它的同一反应器中定义插件通常是不好的风格-唯一有效的例外是如果B是A的集成测试)
- A是B使用的扩展(也是糟糕的样式)
- A是B的父母
- A在范围导入中位于B的dependencyManagement块中
dependency:copy
。在这种情况下,请改用dependency:copy dependencies
)