我有一个很大的多模块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和Versions Maven Plugin,但我无法弄清楚如何让它们自动碰到主要版本。
你能帮我解决这个问题吗?
答案 0 :(得分:1)
在多模块项目中,每个模块应具有相同的版本。我建议将模块拆分为单独的Maven项目,然后更容易使用Maven Release Plugin和Versions Maven插件。
答案 1 :(得分:0)
我同意
的想法多模块项目,每个模块应该具有相同的版本
但是我们已经在一个大项目中有一些模块结构,其中有几个团队参与其中,并且无法轻易更改。
由于我没有找到解决方案,我为此创建了一个groovy脚本:https://github.com/ddska/maven-semver-bumper