需求描述

在 Maven 聚合工程中,通常修改版本号是一件较为繁琐的过程,特别是子模块较多时,复制粘贴也得谨防遗漏,因此需要一款自动化工具,来完成机械的工作。

解决方案

插件 versions-maven-plugin 正是用来解决这类痛点。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<!-- 父模块 pom.xml -->
<groupId>xxx</groupId>
<artifactId>yyy</artifactId>
<version>a.b.c</version>

<!-- 聚合子项目 -->
<modules>
<module>模块-A</module>
<module>模块-B</module>
<module>模块-C</module>
<module>模块-D</module>
</modules>

<!-- 统一子模块版本号,${project.version} 为父项目版本号 -->
<!-- 子模块相互依赖时无需指定版本号 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>xxx</groupId>
<artifactId>模块-A</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>

<!-- 引入插件 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.8.1</version>
</plugin>

<!-- 子模块 pom.xml -->
<!-- parent 填入完整的父项目信息 -->
<parent>
<groupId>xxx</groupId>
<artifactId>yyy</artifactId>
<version>a.b.c</version>
</parent>

idea 中可以通过 Maven 插件栏选中 versions:set,快速设置。
image.png
在运行窗口填写版本号即可。
image.png

评论