mvn release:prepare 失败清理

mvn release:prepare failure cleanup

我正在使用 mvn 构建一个版本并且似乎已经解决了问题。这就是我所做的:

mvn release:prepare -Darguments="-DskipTests=true" -DautoversionSubmodules=true -Dpassword=... -Dusername=...

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

我做错了

mvn release:clean

然后破坏了我的备份,阻止我现在做正确的事情,

mvn release:rollback.  

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

有没有办法告诉 mvn 开始全新构建此版本?

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

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

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

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

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

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