我们可以从失败的地方开始构建maven

She*_*har 79 java maven-2

假设,我正在对我的大型项目进行完整构建,该项目有7个模块,而在第6个模块上,由于测试失败,构建失败.有什么方法可以从失败的角度开始构建吗?

Pas*_*ent 117

您可以使用-rf或从第6个模块恢复构建--resume-from:

-rf, --resume-from
          从指定项目恢复反应堆

有关详细信息,请参阅高级反应器选项.

  • 示例:`maven -rf <模块名称> clean install` (12认同)
  • 这只适用于我在模块名称前加上冒号,例如`mvn -rf:moduleName install`.(不确定为什么需要冒号,但似乎是 - 至少对我的设置而言.) (7认同)
  • 看起来这只适用于你的初始构建中有一个`install`目标,因为恢复构建可以获得已经从你的本地Maven存储库构建的工件来解决它们的依赖关系.我发现运行`install`版本是不好的做法,因为你最终会使用快照混乱你的本地存储库,你可能最终依赖于比你预期的更快的快照.看起来对于只有`package`而不是`install`的构建,使用`-rf`不是一个选项:你必须完成整个构建. (2认同)

M S*_*ach 10

这是一个例子

mvn clean install -rf :your-module
Run Code Online (Sandbox Code Playgroud)


小智 9

您可以使用该-rf命令从任何所需的模块恢复构建.例如,如果您的构建在myproject-proxy中失败,则可以使用以下命令:

mvn -rf myproject-proxy clean install
Run Code Online (Sandbox Code Playgroud)


小智 8

查看maven摘要,您将看到已执行的模块以及maven停止的位置.试试这个:

mvn clean install-Dmaven.test.skip=true -rf :yourModule
Run Code Online (Sandbox Code Playgroud)