我正在使用Maven 3.0.4。我有一个多模块项目,没什么花哨或异国情调:
/pom.xml (aggregator pom)
parent/
pom.xml
childA/
pom.xml (inherits from ../parent/pom.xml)
childB/
pom.xml (inherits from ../parent/pom.xml)
根级别有一个trunk / branches /标签。
所有poms都有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中的多个错误报告中所报道的那样,当我做mvn发布:prepare时,创建的标记是顶级项目,但它不是标记trunk,而是标记一级。所以项目根看起来像:
/
trunk/
branches/
tags/
project-0.0.1/
trunk/
branches/
tags/
我找到的似乎没有解决方案。错误报告表明它已在某些版本中修复,然后在其他版本中引入了回归。甚至报道的版本已被修复,有些人报告说它不是。
我尝试过发布插件的v2.0,2.1,2.4.1。我在顶层添加了一个尾随'/'到我的scm网址。什么都没有帮助。
我的设置有什么明显的错误吗?
更新:所以我们没有充分的理由让聚合器和父poms分开,所以我们将它们组合在一起,发布插件按预期工作。仍然感到惊讶,这不起作用,因为我不认为这是一个异国情调的设置。如果maven人想要一个示例项目,我会很乐意尝试提出一个。
答案 0 :(得分:2)
所以你正在使用聚合器和平面多模块项目?如果从父文件夹中释放,它应该已经可以工作了。 请注意,不存在“每个项目的标记”这样的内容,因此不会使用子项的SCM部分。在发布期间,根据正在执行的项目创建一个标记。是的,如果聚合器pom.xml直接位于主干下,我也很惊讶。
如果您可以参考声称问题已修复的JIRA问题会有所帮助,因为我不记得引用此文件夹结构的故障单。