Maven中的版本传播

Man*_*noj 5 maven-2 version

我有一个多模块maven项目,我想以这样的方式使用版本,开发人员必须只触摸根项目pom来更改所有模块的版本.

例如

ProjA包含

  • 模块1

  • 单词数

  • 单词数

所有模块都包含自己的Poms,并将ProjA的pom作为其父级.运行构建后,我会为每个模块创建一个jar.现在为了构建更新版本的ProjA,我只需要更改ProjA的pom版本,模块的所有poms都应该从父版本中获取这个新版本.如果我在所有模块的pom中对父版本进行编码,这都有效.但是这也会迫使我为父pom中的每个版本更改更新所有模块的poms,这会破坏它的目的.有没有办法避免这种情况并仍然达到规定的行为?

Pas*_*ent 5

使用Maven Versions Plugin及其versions:update-child-modules目标:

  • versions:update-child-modules 更新项目的子模块的父节,以使版本与当前项目的版本匹配.例如,如果您有一个聚合器pom,它也是它聚合的项目的父级,并且子级和父级版本不同步,则此mojo可以帮助修复子模块的版本.(注意,如果您的项目因为版本不匹配而无法构建,那么您可能需要使用-N选项调用Maven以运行此目标.