在哪里运行mvn版本:为多模块项目设置(使用聚合器)?

时间:2015-02-20 16:11:58

标签: java maven versions-maven-plugin

我有一个带有构建/聚合pom的多模块maven项目。在我的项目中,我有一个共同的父pom,其设置了版本号,并且所有子模块都继承了父版本(即:任何子poms中都没有版本信息)。但是,构建pom具有自己的版本号,并且不会继承父pom。

Project
|- InfoJava
|- InfoWebApp
|- InfoMavenCommon (parent pom)
|- InfoBuild (build pom - may have a unique version number and does not inherit InfoMavenCommon)
|- InfoEar

我正在尝试更新项目的构建版本(即:父版本)。通过更新父版本,我还需要更新所有子模块对父项的引用。例如:

<parent>
    <groupId>com.webinfo</groupId>
    <artifactId>InfoMavenCommon</artifactId>
    <version>3.9.1</version>
    <relativePath>../InfoMavenCommon</relativePath>
</parent>

但是,我不确定如何正确使用版本插件。我发现这个工作的唯一方法是运行以下内容:

Project/InfoMavenCommon$ mvn versions:set -DnewVersion=3.9.0

更新父pom版本,但不会递归到子模块,然后

Project/InfoMavenBuild$ mvn -N versions:update-child-modules

这似乎并不“正确” - 两个步骤并没有真正按照预期的方式使用update-child-modules。

我应该从哪个模块调用版本:设定目标?是否有一步到位的解决方案让父母和所有孩子自动更新他们的版本?

0 个答案:

没有答案