Maven 插件统一修改聚合工程项目版本号

目录

引言

在Maven项目中,我们通常有两种常见的方式来修改版本号:直接在pom.xml文件中手动编辑和利用Maven插件进行版本号调整。

本文将比较这两种修改版本号的方式,讨论它们各自的优劣,以及在不同情境下的适用性。

直接修改 pom.xml 的版本号的问题

在单体项目中,我们可以直接编辑pom.xml文件修改版本号,而且修改会立即生效。

然而,在微服务或聚合工程中,由于存在模块间的依赖关系,直接修改pom.xml的版本号可能导致一致性问题。

这里拿 youlai-mall 微服务做示例:

可以看到修改父工程的版本号,并未改变子工程依赖的父工程的版本号,导致子工程的依赖报错。

Maven 插件修改版本号

bash 复制代码
mvn versions:set -DnewVersion='3.0.1'

在使用mvn versions:set命令设置新版本后,你需要使用mvn versions:commit来将这个版本修改应用到项目的POM文件中。

bash 复制代码
mvn versions:commit

如果有问题,回退版本即可

bash 复制代码
mvn versions:revert

开源项目

微服务商城项目

Github Gitee
开源组织 有来开源组织 有来开源组织
后端 youlai-mall 📖 youlai-mall 📖
前端 mall-admin🌎 mall-admin 🌎
移动端 mall-app 🌎 mall-app 🌎

前后端分离项目

Github Gitee
开源组织 有来开源组织 有来开源组织
后端 youlai-boot 📖 youlai-boot 📖
前端 vue3-element-admin 🌎 vue3-element-admin 🌎
相关推荐
2501_9130613435 分钟前
网络原理知识
java·网络
希望永不加班42 分钟前
Spring AOP 代理模式:CGLIB 与 JDK 动态代理区别
java·开发语言·后端·spring·代理模式
flushmeteor1 小时前
java的动态代理和字节码生成技术
java·动态代理·代理·字节码生成
eggwyw1 小时前
基于SpringBoot和PostGIS的云南与缅甸的千里边境线实战
java·spring boot·spring
0xDevNull2 小时前
MySQL 别名(Alias)指南:从入门到避坑
java·数据库·sql
lv__pf2 小时前
springboot原理
java·spring boot·后端
java1234_小锋2 小时前
Java高频面试题:什么是可重入锁?
java·开发语言
云烟成雨TD2 小时前
Spring AI Alibaba 1.x 系列【22】Agent 并行工具执行与超时 / 协作式取消实战
java·人工智能·spring
段小二3 小时前
服务一重启全丢了——Spring AI Alibaba Agent 三层持久化完整方案
java·后端
段小二3 小时前
Agent 自动把机票改错了,推理完全正确——这才是真正的风险
java·后端