如何将项目版本设置为多模块项目的所有项目(使用Versions-Maven-plugin)?

时间:2013-11-26 15:39:41

标签: maven

我有一个比1级更深的多模块项目。我开始使用'versions-maven-pluging'。

从我最顶级的父母pom开始:

  

mvn版本:set -DnewVersion = 13.0.2

然后我得到了最顶级父级的这些(样本)pom文件,它是第一个子模块:

0级

<project>
    <groupId>com.company</groupId>
    <artifactId>_parent-company</artifactId>
    <version>13.0.0</version>

    <modules>       
        <module>../subproject1</module>
    </modules>

</project>

等级1

<project>

    <parent>
        <groupId>com.company</groupId>
        <artifactId>_parent-company</artifactId>
        <version>13.0.2</version>
    </parent>

    <groupId>com.company</groupId>
    <artifactId>_parent-subproject1</artifactId>
    <version>13.0.0</version>
    <packaging>pom</packaging>

    <modules>       
        <module>../subproject1.1</module>
    </modules>

</project>

等级2

<project>
    <parent>
        <groupId>com.company</groupId>
        <artifactId>_parent-subproject1</artifactId>
        <version>13.0.0</version>
    </parent>

    <groupId>com.company.subproject1</groupId>
    <artifactId>_parent-subproject1.1</artifactId>
    <version>13.0.0</version>
    <packaging>pom</packaging>
</project>

当我在0级检查父模块时,我看到版本没有变化。然后,级别1中的版本被更改,这样就可以了。最后,在2级项目中,没有任何改变。

如果我到达1级父目录,我可以运行一个命令来更新这个级别的子子模块(但是没有错误,因为没有更新父级13.0.2的repo。)

  

mvn版本:update-child-modules

有没有办法将每个人从第一个父母改为最低假期项目?目前我们正在构建一个版本的所有内容,因此无需为每个父级创建版本。

是否有简单的工作流程可以简化?现在这就是我要做的事情:

1-手动更改最顶层父级的版本。

运行这些(在0级目录中):

mvn versions:set -DnewVersion=13.0.2
mvn -N install

运行这些(在1级目录中):     mvn版本:set -DnewVersion = 13.0.2

奇怪的是,当我运行版本时:设置为1级,我得到了正确的结果。父项目和所有子项目POM都设置为版本13.0.2。知道我能做错什么吗?

0 个答案:

没有答案