versions-maven-plugin 是 Apache Maven 的一个官方插件,用于帮助开发者管理项目中依赖(dependencies)、插件(plugins)以及自身项目的版本号。它提供了一系列目标(goals),可以方便地检查、更新和显示项目中的各种版本信息。
最新版本可查看 Maven Central - versions-maven-plugin

常用功能与目标(Goals)
| Goal | 说明 |
|---|---|
versions:display-dependency-updates |
显示项目依赖中有哪些新版本可用 |
versions:display-plugin-updates |
显示项目中使用的插件是否有新版本可用 |
versions:display-property-updates |
显示通过 <properties> 定义的版本属性是否有更新(需配合 -DallowSnapshots=true 等参数) |
versions:update-dependencies |
自动将 <dependencies> 中的版本更新为最新版本(默认不包括快照版) |
versions:update-properties |
更新通过 <properties> 定义的版本属性值为最新版本 |
versions:set |
修改当前项目的 <version>(例如从 1.0-SNAPSHOT 改为 1.0) |
versions:use-releases |
将所有 SNAPSHOT 依赖替换为对应的 release 版本(如果存在) |
versions:use-latest-releases |
将依赖更新为最新的 release 版本 |
versions:use-latest-versions |
将依赖更新为最新版本(包括快照) |
示例用法
1. 检查依赖是否有更新
bash
mvn versions:display-dependency-updates
2. 检查插件是否有更新
bash
mvn versions:display-plugin-updates
3. 将项目版本从快照改为正式版(如 1.2.0-SNAPSHOT → 1.2.0)
bash
mvn versions:set -DnewVersion=1.2.0
执行后会修改
pom.xml中的<version>字段。建议配合 Git 使用,便于回滚。
4. 自动升级所有依赖到最新 release 版本
bash
mvn versions:use-latest-releases
5. 提交更改前还原版本(可选)
如果你使用了 versions:set 修改了版本,但想撤销:
bash
mvn versions:revert
或者提交更改:
bash
mvn versions:commit
插件会在
.versionsBackup目录中保留原始 POM 的备份。
配置示例(可选)
在 pom.xml 中显式声明插件(虽然通常无需声明即可使用):
XML
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<!-- 请使用最新稳定版 -->
<version>2.16.2</version>
</plugin>
</plugins>
</build>


