我不确定我是否在这里做错了什么,或者 maven-release-plugin 中是否存在错误。但是当我尝试发布 1.2.1 版本时,maven 会创建一个具有正确版本的标签,但在标签的 pom.xml 中设置的版本号设置为 1.2(而不是应该的 1.2.1)。
这是我尝试修复 1.2 中的错误时所做的:
- svn cp URL/tags/myapp-1.2 URL/branches/myapp-1.2
- 将 URL/branches/myapp-1.2/pom.xml 中的 project.version 编辑为 1.2.1-SNAPSHOT(原为 1.2)
- 修复源代码中的错误
- 提交更改
- mvn 发布:准备
- #当询问时,使用默认值:发布版本 1.2.1,下一个开发版本 1.2.2-SNAPSHOT
- [信息] 构建成功
到目前为止还可以,但是如果我检查新标签中的代码,则版本错误!URL/tags/myapp-1.2.1/pom.xml 的版本为 1.2,而不是标签名称所暗示的 1.2.1。如果我现在只运行 mvn release:perform,新上传的 jar 将其名称设置为 myapp-1.2.jar,覆盖存储库中的原始文件。
我已将 maven-release-plugin 版本从 2.0 升级到 2.1,但没有取得更大的成功。我知道导致此错误的原因是插件执行此操作的过程的一部分:
svn --non-interactive copy --file /tmp/maven-scm-2371633.commit --revision 19866 URL/tags/myapp-1.2 URL/tags/myapp-1.2.1
这会将源代码从 tags/myapp-1.2 复制到 tags/myapp-1.2.1,但这不包含任何更改。您是否同意它应该从branches/myapp-1.2 复制,而不是标签?
这对其他人有用吗,你看看我是否做错了什么?