gpt4 book ai didi

java - Maven 多线程构建 : force the packaging module to run last

转载 作者:搜寻专家 更新时间:2023-11-01 03:39:22 31 4
gpt4 key购买 nike

我有一个具有以下结构的多级 Maven 项目:

+ project
+ subproject1
+ 1_module1
+ 1_module2
+ 1_module3
+ 1_module3
+ subproject2
+ 2_module1
+ 2_module2
+ 2_module3
+ ...
+ subproject3
+ 3_module1
+ 3_module2
+ 3_module3
+ ...
+ packaging-project

packaging-project打包子项目的构建 Artifact ,并声明 pomsubproject1 的类型依赖, subproject2 , 和 subproject3 .这(正确地)将它放在 react 堆构建顺序的最后,因此它在单线程构建中工作得很好。

但是,对于多线程构建(例如 mvn -T4 ),packaging-project构建由 Maven 构建所有子项目模块之前执行。

我发现的一个解决方案是在 packaging-project 中明确列出每个子项目的每个模块作为依赖项。 .然而,这既烦人又脆弱——每次创建新模块时,都必须在 packaging-project 中明确列出。否则有破坏构建的风险。

另一个解决方案是运行 packaging-project通过配置文件,然后在单独的 mvn 中显式执行它在主构建之后调用。这是一个很好的解决方案,但在构建时需要一个额外的步骤。

是否有另一种方法来声明 packaging-project 之间的构建顺序依赖关系以及列出的子项目的每个模块,没有明确声明每个子项目的每个子模块作为依赖项?

最佳答案

据我所知,使一个模块构建依赖于其他模块的唯一方法是使它们成为该构建的依赖项,正如您所说,这意味着拥有一个手动维护的列表。您的描述应该会给您提示:该模块依赖另一个。

关于java - Maven 多线程构建 : force the packaging module to run last,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18877333/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com