多模块maven版本,每个模块带有标签
假设基于Maven的Java项目的以下项目结构:
xx-parent
xx-moduleA
xx-moduleB
xx-moduleC/submodule1
xx-moduleC/submodule2
xx-moduleC/submodule3
Subversion中的项目结构如下:
xx-parent/trunk
xx-moduleA/trunk
xx-moduleB/trunk
xx-moduleC/trunk/submodule1
xx-moduleC/trunk/submodule2
xx-moduleC/trunk/submodule3
我的目标是在执行发布时为每个模块创建标记:
xx-parent/tags/xx-parent-1.0
xx-moduleA/tags/xx-moduleA-1.0
xx-moduleB/tags/xx-moduleB-1.0
xx-moduleC/tags/xx-moduleC-1.0
过去,每个模块都是单独构建和发布的。随着项目规模的扩大(30个模块),构建版本的时间增加了。我想将项目更改为多模块设置以执行反应堆构建和发布。构建似乎不是问题,但每个模块创建标记是。
maven-release-plugin似乎坚持只为整个项目/发布制作一个标签。我正在寻找一种创建多个标签的方法,例如每个模块的标签。
<module>../xx-moduleB</module>
<scm>
中都有自己的pom.xml
元素,但在执行反应器释放时不会使用它们。mvn --batch-mode -DcommitPerProject=true -DautoVersionSubmodules=true -Drelease.version=1.0.6 release:prepare release:perform
<scm>
代码,例如嵌套的“trunk”-tags在xx-parent标签下如何使用Maven发布流程,多模块布局设置此项目,并且每个模块仍然可以获得单独的标记?
http://jira.codehaus.org/browse/MRELEASE-261(已结束)和MRELEASE-561(开放)
答案 0 :(得分:1)
根据ArnaudHéritier(Apache Maven PMC成员)的说法,
Maven无法处理模块-A v0.1,模块-B v0.3等复合应用程序。
Maven将项目及其所有子模块视为一个独特的集合。
见:http://blog.aheritier.net/maven-release-plugin-2-0/(2010年6月9日)
可能情况因Maven 3而改变了?