如何正确使用mvnrelease:prepare?

How to use properly mvn release:prepare?

我在我的 Maven 项目上尝试这个命令(使用 dryrun 进行测试):

mvn release:clean release:prepare -DdryRun=true -DgenerateBackupPoms=false -Dtag=solocal-refentreprive-2.1-RC02 -DreleaseVersion=2.1-RC02 -DdevelopmentVersion=2.1-SNAPSHOT

最后,构建成功,但我(在我的提交中)有很多 pom.next / pom.tagpom.backUp...

如果我不使用 dryrun,那么我什么时候都不会 (-DgenerateBackupPoms=false)。我不想推送这个 pom...

假设您接受默认值 release:prepare 执行以下操作

1) 构建并检查所有测试是否通过

2) 检查没有 SNAPSHOT 依赖项

3) 将版本从 x.x-SNAPSHOT 更改为 x.x

4) 推送到 SCM 中的标签

5) 将下一次迭代的版本更改为 x.(x+1)-SNAPSHOT

所以你的 pom.backUp 是原始 pom,你的 pom.tag 来自第 3 步,你的 pom.next 来自第 5 步。

您可以使用 mvn release:clean 进行清理,这将在 release:perform 之后自动完成,参见 maven-release

也许已经晚了,但根据你的问题,在 mvn release:prepare 命令之后你还没有 运行 mvn release:perform

不要忘记使用执行命令完成发布过程。 https://maven.apache.org/maven-release/maven-release-plugin/plugin-info.html

或者如果您不想使用 perform,请再次使用 mvn release:clean