1

我不确定我是否在这里做错了什么,或者 maven-release-plugin 中是否存在错误。但是当我尝试发布 1.2.1 版本时,maven 会创建一个具有正确版本的标签,但在标签的 pom.xml 中设置的版本号设置为 1.2(而不是应该的 1.2.1)。

这是我尝试修复 1.2 中的错误时所做的:

  1. svn cp URL/tags/myapp-1.2 URL/branches/myapp-1.2
  2. 将 URL/branches/myapp-1.2/pom.xml 中的 project.version 编辑为 1.2.1-SNAPSHOT(原为 1.2)
  3. 修复源代码中的错误
  4. 提交更改
  5. mvn 发布:准备
  6. #当询问时,使用默认值:发布版本 1.2.1,下一个开发版本 1.2.2-SNAPSHOT
  7. [信息] 构建成功

到目前为止还可以,但是如果我检查新标签中的代码,则版本错误!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 复制,而不是标签?

这对其他人有用吗,你看看我是否做错了什么?

4

1 回答 1

0

您需要验证 pom 中的存储库链接是否指向分支而不是主干。

如果是这种情况,那么您将收到错误消息。相反,将其指向树干。

于 2017-03-17T13:24:40.233 回答