如何正确使用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.tag
和 pom.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
。
我在我的 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.tag
和 pom.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
。