maven包:跳过成功构建的子模块

maven package: skip successfully built sub-modules

我正在尝试使用带有 --fail-at-end 的 maven 3.3.9 构建一个多子模块项目。 运行 这个阶段的一个周期花费了很多时间(几个小时),在每个周期中我都解决了构建一些子模块的问题,然后 运行 maven 再次构建(开始另一个周期)。 所以问题是:有没有办法强制 Maven 不尝试构建在以前的周期中成功构建的包? 提前致谢

听起来您有一个多模块项目,并且您正在尝试通过迭代过程获得完整、成功的构建...

build -> fail -> fix the failure -> rebuild

...并且每次围绕该循环您都希望从发生故障的模块继续,而不是每次都构建整个项目。

此用例的标准方法是使用 -rf:

-rf, --resume-from
    Resume reactor from specified project

例如,如果名为 moduleD 的模块失败,则重新 运行 您的构建如下:

mvn -rf :moduleD install 

更多详情in the docs

您还可以选择在重新运行构建时不包括 clean 阶段,从而允许 Maven 的增量编译器计算出需要重建的内容。