【maven】versions-maven-plugin 插件

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>



相关推荐
Rain的Java大神之路1 小时前
JavaWeb开发如何解决跨域问题
java·前端·后端·nginx·web安全·面试·运维开发
自动化监测Learner1 小时前
Navicat Premium 17 中文版安装教程(2026最新版)
java·linux·数据库
那个松鼠很眼熟w1 小时前
4.Spring-Ai入门案例
java·人工智能·spring
计算机毕设定制辅导-无忧学长1 小时前
《基于SpringBoot青年公寓出租管理系统的设计与实现》
java·vue.js·spring boot·青年公寓出租管理系统
泡海椒2 小时前
JQuick-Curl 二次开发:自定义解析器、扩展点开发指南,如何把框架能力真正变成团队资产
java·开发语言·okhttp·maven
青山木3 小时前
Hot 100 --- 数组中的第K个最大元素
java·数据结构·算法·排序算法
玛卡巴卡ldf3 小时前
【AICoding】笔试提示词设计思路
java·算法·ai编程
珍珠先生3 小时前
第10章 JDK 17 新特性:语法糖与新能力
java
吴声子夜歌4 小时前
ApacheCommons——commons-text(模板替换与文本算法)
java·开发语言·算法·apache
Haooog4 小时前
Agent 开发中的 Memory:State、短期记忆、长期记忆与 Memory Retrieval
java·agent·memory