前置

最近在开发starter的时候发现,当进行版本升级的时候需要对每个子模块项目手动修改版本号,由于子模块较多,一个个修改的体验是极差的,而且还很容易出错。作为一个程序猿,当然要去寻找一个更好的姿势来完成这件事。

耐心渐渐消失

代码经过长期修改后,版本号却从没有推进,导致个别release稳定版的模块更新代码之后,其他开发机器并不会自动更新本地依赖包。并使主干针对某分支的修改也同步到其他分支。
所以,此文档描述如何使用versions maven plugin插件,批量修改项目各模块的版本号,灵活推进或回退版本,避免主干每次更新代码,立即对所有分支产生影响。

versions-maven-plugin

在问过搜索引擎之后,一款maven插件进入了我的视线。。。

<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.3</version>
</dependency>

这是一个能够批量修改版本号的插件,话不多说,在项目中引入。。

修改pom.xml,在plugins节点下添加如下代码:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.3</version>
<configuration>
<generateBackupPoms>false</generateBackupPoms>
</configuration>
</plugin>

同步好插件之后,在IDEA右侧maven窗口可以看到该插件已经启用了。

image-20200425152743052

展开插件,可以看到它有N个功能,我目前只用到了version:set这个功能:

image-20200425152923088

使用

双击version:set运行插件,之后在控制台输入你想修改的版本号回车,等运行完毕之后就完成了所有模块的版本号修改。

image-20200425153124721

查看git修改记录,所有模块的pom文件都被修改过来了。 。

image-20200425153302509