0%

Maven 多模块项目统一修改版本号

在编写复杂的 Maven 项目时,如果模块过多,并且层级复杂的话修改版本号是一个头痛的问题,我们不可能找到每个子模块去修改当前模块的版本号,以及它依赖模块的版本号。Maven 作为一个项目构建的工具,有专门的插件为我们提供修改版本号的功能。

1. 在顶级 module 中添加插件

为了使用版本号修改的功能,需要现在顶级 module 中添加插件,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.3</version>
<configuration>
<generateBackupPoms>false</generateBackupPoms>
</configuration>
</plugin>
</plugins>
</build>

这个插件中有一些配置,上述“generateBackupPoms”配置的作用是在修改 pom 时是否对原文件进行备份,我们的项目一般都会使用 Git 进行管理,我们可以关闭备份功能。

2. 为顶级 module 设置新版本

设置的方式有两种,一种是自己手动修改,另外一种是使用上述插件的命令,命令如下:

1
mvn versions:set -DnewVersion=0.1.2-SNATHOST

该命令只会为顶级的 module 修改版本号。

3. 更新所有子 module 的版本

更新方式很简单,只需要执行一条命令即可,命令如下:

1
mvn versions:update-child-modules

在更新子 module 的版本时需要注意,我们之前的项目的所有 module 版本号需要统一,否则版本号会更新不全。

如果觉得我的文章对您有用,请查看广告(Google Ads)或扫码。您的支持将鼓励我继续创作!