使用 maven 修改模块版本

Bumping versions of modules with maven

我有一个大型的多模块 Maven 项目(数十个模块,4 个嵌套级别)。

每个模块都有自己的语义版本(可以是 SNAPSHOT 也可以不是)。

我想找到使用一个命令或脚本自动更新每个模块主要版本的方法,以避免每个模块都发生变化。

所以我有例如

parent POM (1.2.3-SNAPSHOT)
|-- api-module (3.4.5)
|-- impl-module (5.6.7-SNAPSHOT)
|-- another-parent-module (1.0.1-SNAPSHOT)
|--|--sub-module1 (1.2.3)
|--|--sub-module2 (2.3.4)

碰撞后我想要

parent POM (2.0.0-SNAPSHOT)
|-- api-module (4.0.0)
|-- impl-module (6.0.0-SNAPSHOT)
|-- another-parent-module (2.0.0-SNAPSHOT)
|--|--sub-module1 (2.0.0)
|--|--sub-module2 (3.0.0)

我知道 Maven Release Plugin and about Versions Maven Plugin 但我不知道如何让它们自动升级主要版本。

你能帮我解决这个问题吗?

在多模块项目中,每个模块应该有相同的版本。我建议将您的模块拆分为单独的 Maven 项目,然后使用 Maven Release Plugin 和 Versions Maven Plugin 会更容易。

我同意

multi module project, every module should have the same version

但是我们在一个有几个团队参与的大项目中已经有了一些模块结构,而且不能轻易改变。

由于我还没有找到解决方案,我为此创建了一个 groovy 脚本:https://github.com/ddska/maven-semver-bumper