我有一个比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。知道我能做错什么吗?