我有一个多模块maven项目,我想以这样的方式使用版本,开发人员必须只触摸根项目pom来更改所有模块的版本.
例如
ProjA包含
模块1
单词数
单词数
所有模块都包含自己的Poms,并将ProjA的pom作为其父级.运行构建后,我会为每个模块创建一个jar.现在为了构建更新版本的ProjA,我只需要更改ProjA的pom版本,模块的所有poms都应该从父版本中获取这个新版本.如果我在所有模块的pom中对父版本进行编码,这都有效.但是这也会迫使我为父pom中的每个版本更改更新所有模块的poms,这会破坏它的目的.有没有办法避免这种情况并仍然达到规定的行为?
使用Maven Versions Plugin及其versions:update-child-modules
目标:
versions:update-child-modules
更新项目的子模块的父节,以使版本与当前项目的版本匹配.例如,如果您有一个聚合器pom,它也是它聚合的项目的父级,并且子级和父级版本不同步,则此mojo可以帮助修复子模块的版本.(注意,如果您的项目因为版本不匹配而无法构建,那么您可能需要使用-N选项调用Maven以运行此目标.