Maven Versions 插件可自动检查并升级依赖版本。1. 在pom.xml中配置插件;2. 运行mvn versions:display-dependency-updates查看可更新依赖;3. 执行mvn versions:use-latest-releases升级非快照稳定版;4. 支持按需升级、管理依赖版本及预览变更。

使用 Maven Versions 插件可以快速检查项目中哪些依赖已过期,并一键升级到最新稳定版本(或指定规则的版本),无需手动查官网、改 pom.xml。
1. 启用 versions-maven-plugin
在项目的 pom.xml 的 <build><plugins> 中添加插件声明(推荐使用较新稳定版,如 2.17.1):
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.17.1</version>
</plugin>
2. 检查哪些依赖有新版本
运行以下命令,列出所有可更新的依赖(包括直接和传递依赖):
mvn versions:display-dependency-updates
立即学习“Java免费学习笔记(深入)”;
输出示例:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
[INFO] com.fasterxml.jackson.core:jackson-databind ............. 2.15.2 -> 2.16.1
[INFO] org.springframework.boot:spring-boot-starter-web ....... 3.2.4 -> 3.2.6
注意:默认只显示 RELEASE 或 LATEST 对应的稳定版,不包含 SNAPSHOT 或里程碑版(如 RC、M1)。
3. 自动升级依赖版本(谨慎操作)
执行升级命令会修改 pom.xml 中的 <dependency> 版本号:
mvn versions:use-latest-releases
- 只升级到最新的 非快照(non-SNAPSHOT)稳定发布版(跳过 alpha/beta/RC)
- 不会升级
<dependencyManagement>中管理的版本(如需升级,请加参数-DallowSnapshots=false -Dincludes=groupId:artifactId或配合versions:use-latest-versions) - 建议先提交当前代码,或用
git status确认变更范围
4. 高级用法补充
常见实用场景:
-
仅升级指定依赖:
mvn versions:use-latest-releases -Dincludes="com.fasterxml.jackson.core:jackson-databind" -
检查并升级 dependencyManagement 中的版本:
mvn versions:use-latest-releases -DprocessDependencyManagement=true -
预览升级效果(不写入文件):
加上
-DgenerateBackupPoms=false并结合versions:display-dependency-updates先观察
升级后务必运行 mvn clean compile test 验证兼容性,尤其注意 API 变更或行为调整。

















