2013-07-12 54 views
1

我正在使用Maven 3.0.4。我有一个多模块项目,没有什么花哨或奇特:使用Maven发布插件和多模块项目的错误标记

/pom.xml (aggregator pom) 
    parent/ 
     pom.xml 
    childA/ 
     pom.xml (inherits from ../parent/pom.xml) 
    childB/ 
     pom.xml (inherits from ../parent/pom.xml) 

有一个在根级主干/分支/标签。

所有劲歌有SCM部分:

pom.xml: 
    <scm> 
     <developerConnection>scm:svn:https://mysvnrepo.com/svn/project/trunk</developerConnection> 
    </scm> 

parent/pom.xml: 
    <scm> 
     <developerConnection>scm:svn:https://mysvnrepo.com/svn/project/trunk/parent</developerConnection> 
    </scm> 

childA/pom.xml: 
    <scm> 
     <developerConnection>scm:svn:https://mysvnrepo.com/svn/project/trunk/childA</developerConnection> 
    </scm> 

正如其他人在这里和在JIRA多个bug报告报道,当我做了MVN发布:准备,时生成的顶级项目的标签,但不是标记中继线,而是标记一层。所以项目的根如下所示:

/ 
    trunk/ 
    branches/ 
    tags/ 
     project-0.0.1/ 
      trunk/ 
      branches/ 
      tags/ 

似乎没有解决方案,我已经找到了这个。错误报告表明它已经在某些版本中修复,然后在其他版本中引入回归。甚至有报道称它已被修复的版本,有报道说它不是。

我试过版本插件的v2.0,2.1,2.4.1。我在顶层添加了尾部的'/'到我的scm网址。没什么帮助。

我的设置有什么明显的问题吗?

更新:因此,我们没有充分的理由让聚合器和父poms分开,所以我们将它们组合起来,并且发布插件按预期工作。仍然感到惊讶这没有奏效,因为我不认为这是一个奇特的设置。如果Maven家伙想要一个样本项目,我会很高兴尝试拿出一个。

回答

2

因此,您正在使用聚合器和平板多模块项目?如果你从父文件夹释放它应该已经工作。 请注意,没有“每个项目的标签”这样的东西,所以儿童的SCM部分不会被使用。在发布期间,只有一个标签是基于正在执行的项目创建的。是的,如果聚合器pom.xml直接位于主干下,我也会感到惊讶。

这将有助于如果你能指的是权利要求的问题是固定的,因为我不记得了票指的是这个文件夹结构的JIRA-问题。

+0

这里有一个问题:http://jira.codehaus.org/browse/MRELEASE-679,和另一个:http://jira.codehaus.org/browse/MRELEASE-516。我相信它们和我的很相似。所以你说我应该从父文件夹释放,而不是聚合器Pom的顶层?另外,我确定整个项目只有一个标签。 –

相关问题