有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Maven并行构建序列某些模块

我有一个多模块maven项目,希望利用maven 3中的并行构建功能。但其中一些模块为未来的模块奠定了基础(按顺序构建时,如创建一些目录、下载一些非maven JAR等)。有没有一种方法可以让我部分地控制并行性,从而使构建按顺序开始,然后并行,最终收敛到一个最终模块,该模块进行聚合,并且不能在其他模块之前运行

提前谢谢


共 (2) 个答案

  1. # 1 楼答案

    只需在pom上添加一个依赖项(pom),我们使用它来订购docker构建(图像取决于需要更早构建的基础图像)

  2. # 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命令。如果你需要更多信息,请告诉我


    旁注:Consider this line

    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.

    您可能不需要执行任何分支/连接逻辑。看看没有它能不能用