mvn 发布:准备故障清理

Sco*_*t S 5 maven maven-release-plugin

我正在使用 mvn 构建一个版本,并且似乎已经把事情搞定了。这就是我所做的:

mvn release:prepare -Darguments="-DskipTests=true" -DautoversionSubmodules=true -Dpassword=... -Dusername=...
Run Code Online (Sandbox Code Playgroud)

并且由于密码不正确而失败。

我错误地做了一个

mvn release:clean
Run Code Online (Sandbox Code Playgroud)

然后我的备份就被清除了,导致我现在无法做正确的事情,

mvn release:rollback.  
Run Code Online (Sandbox Code Playgroud)

此操作失败并显示错误,指出无法从备份恢复。

有没有办法告诉 mvn 开始重新构建这个版本?

Tun*_*aki 1

当您(错误地)调用 时mvn release:clean,项目的所有中间备份文件都被删除,因此 Maven 无法回滚到初始状态(只是因为它不再知道初始状态是什么)。

您没有太多选择:您需要自己恢复初始状态。这意味着:

  • 恢复项目版本。这可以手动完成或在versions-maven-plugin:set插件目标的帮助下完成。
  • 恢复<scm>POM 的元素。
  • 恢复您可能拥有的任何SNAPSHOT依赖关系(例如,多模块 Maven 项目的模块之间)。<parent>这也意味着在多模块项目的情况下更新元素。

既然你说由于密码不正确而导致发布失败,我认为它在SCM身份验证期间失败了。在这种情况下,您不需要删除该版本应创建的标签。

由于没有备份,因此在您下次调用 时maven-release-plugin,它将从头开始一个新版本。

为将来记住:打字前请三思!