2011-05-11 96 views
1

我不知道我是否在这里做错了什么,或者是否有maven-release-plugin中的错误。但是当我尝试发布版本1.2.1时,maven使用正确的版本创建了一个标签,但是在标签的pom.xml中设置的版本号被设置为1.2(而不是1.2.1)。maven版本:准备无法发布带有补丁版本的pom.xml

这是我做的,当我试着把1.2的错误:

  1. SVN CP网址/标签/ MYAPP-1.2 URL /分支机构/ MYAPP-1.2
  2. 在URL编辑project.version /branches/myapp-1.2/pom.xml是1.2.1-快照(为1.2)
  3. 修复错误源
  4. 提交更改
  5. MVN释放:准备
  6. #当问,使用defa ULTS:发布1.2.1版,下一版本的开发1.2.2-SNAPSHOT
  7. [INFO] BUILD SUCCESSFUL

OK,到目前为止,但如果我在新标签检查出的代码版本是错误的! URL/tags/myapp-1.2.1/pom.xml具有版本1.2,而不是1.2.1,因为标签名称应该建议。如果我只是运行mvn release:现在执行,新上传的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 

此副本从标签/ MYAPP-1.2标签/ MYAPP-1.2.1的源,但这并不包含任何更改。你是否同意它应该从分支机构/ myapp-1.2复制而不是标签?

这是否适用于其他人,并且您是否看到我是否做错了什么?

+1

您是否更改了您在分支中使用的那些pom中的SCM区域?导致标签中的pom重写了SCM区域中的scm信息,其中包含有关标签等的完整合格信息,而不是您期望的信息。此外,我会建议使用像1.2.0这样的三位数字版本号,并且在修复错误的情况下,您可以将其更改为1.2.1等。 – khmarbaise 2011-05-11 12:36:56

+0

您应该深入了解maven-release插件,因为它支持分支你正在手动(http://maven.apache.org/plugins/maven-release-plugin/examples/branch.html)。 – khmarbaise 2011-05-11 12:38:55

+0

谢谢,khmarbaise。我想知道我是否可能在这里遗漏了一些关键信息。 myapp实际上是一个根项目的子模块。如在/ trunk/myapp /中。这是否重要? – oligofren 2011-05-13 08:26:45

回答

0

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

如果是这样,那么你会得到错误。改为将它指向后备箱。