我有一个具有以下结构的多级 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
构建工件,并声明对、和的pom
类型依赖。这(正确地)将它放在反应器构建顺序中的最后,因此这对于单线程构建非常有效。subproject1
subproject2
subproject3
但是,对于多线程构建(例如mvn -T4
),构建是在构建所有子项目模块之前packaging-project
由 maven 执行的。
我发现的一种解决方案是将每个子项目的每个模块显式列为packaging-project
. 然而,这既烦人又脆弱——每次创建新模块时,都必须明确列出它,packaging-project
否则就有破坏构建的风险。
另一种解决方案是packaging-project
通过配置文件运行,然后mvn
在主构建之后的单独调用中显式执行它。这是一个很好的解决方案,但在构建时需要一个额外的步骤。
是否有另一种方法可以packaging-project
在列出的子项目的每个模块之间声明构建顺序依赖关系,而无需将每个子项目的每个子模块显式声明为依赖项?