我有一个多模块maven项目,并希望利用Maven 3中的并行构建功能。但是一些模块为未来的模块奠定了基础(按顺序构建时,如创建一些目录,下载一些非maven jar等等)。有没有办法让我部分地控制并行性,以便构建开始顺序然后并行并最终收敛到最终模块进行聚合并且不能在其他模块之前运行?
提前致谢
答案 0 :(得分:2)
我没有测试过这个,但我认为它应该是可能的。缺点是你必须多次运行mvn
来自己控制分支/连接逻辑。
首先,查看本文,了解如何进行并行构建:https://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in+Maven+3
现在,在构建单个模块时,您应该使用以下命令行选项:
-pl,--projects <arg> Comma-delimited list of specified
reactor projects to build instead
of all projects. A project can be
specified by [groupId]:artifactId
or by its relative path.
我认为你需要多次运行mvn
命令。如果您需要更多信息,请告诉我。
此构建模式分析项目的依赖关系图,并根据项目的依赖关系图计划可并行构建的模块。
您可能不需要执行任何分支/连接逻辑。看看它是否有效。
答案 1 :(得分:1)
只需在pom(pom)上添加一个依赖项,我们就可以使用它来命令我们的docker构建(图像依赖于之前需要构建的基础图像)