versions-maven-plugin插件批量修改版本号
1.简介
versions-maven-plugin插件可以管理项目版本,
特别是当Maven工程项目中有大量子模块时,
可以批量修改pom版本号,
插件会把父模块更新到指定版本号,
然后更新子模块版本号与父模块相同,
可以避免手工大量修改和遗漏的问题。
2.使用
2.1.修改版本号
cmd进入Maven工程根目录,运行命令:
mvn -f "pom.xml" versions:set -DoldVersion=* -DnewVersion=1.2.0-SNAPSHOT -DprocessAllModules=true -DallowSnapshots=true -DgenerateBackupPoms=true
修改成功后,全部模块版本号都变成了1.2.0-SNAPSHAOT。
简化版命令:
mvn versions:set -DnewVersion=1.2.0-SNAPSHOT
该命令和上一条命令等价,
个人推荐显示的设置参数,
方便后面修改参数。
2.2.回退版本号
mvn versions:revert
注意设置generateBackupPoms为true(默认值),
才会有pom.xml.versionsBackup备份文件,
否则没有备份文件无法回退版本号。
或者使用版本管理工具提供的撤销功能,
比如git直接回滚到原始版本:
git reset --hard origin/master
2.3.确认修改过的版本号
mvn versions:commit
查看修改后的pom文件,如果没有问题则进行确认,
该命令会删除修改版本号时生成的pom备份文件。
2.4.直接修改版本号,无需确认
设置generateBackupPoms为false,
则直接修改pom,不会生成备份文件,
也就不需要使用commit再次确认,
但是也无法使用revert命令回退版本号。
mvn versions:set -DnewVersion=1.2.0-SNAPSHOT -DgenerateBackupPoms=false
3.参数介绍
参数 | 默认值 | 说明 |
---|---|---|
allowSnapshots | false | 是否更新-snapshot快照版 |
artifactId | ${project.artifactId} | 指定artifactId |
generateBackupPoms | true | 是否生成备份文件用于回退版本号 |
groupId | ${project.groupId} | 指定groupId |
newVersion | 设置的新版本号 | |
nextSnapshot | false | 更新版本号为下一个快照版本号 |
oldVersion | ${project.version} | 指定需要更新的版本号可以使用缺省'*' |
processAllModules | false | 是否更新目录下所有模块无论是否声明父子节点 |
processDependencies | true | 是否更新依赖其的版本号 |
processParent | true | 是否更新父节点的版本号 |
processPlugins | true | 是否更新插件中的版本号 |
processProject | true | 是否更新模块自身的版本号 |
removeSnapshot | false | 移除snapshot快照版本,使之为release稳定版 |
updateMatchingVersions | true | 是否更新在子模块中显式指定的匹配版本(如/项目/版本) |
更多命令和使用方法,
请参考versions-maven-plugin官网说明。
4.使用技巧
为了更好的使用插件修改版本号,
减少不必要的版本号修改,
推荐Maven工程遵循如下规范:
1.同一项目中所有模块版本保持一致
2.子模块统一继承父模块的版本
3.统一在顶层模块Pom的节中定义所有子模块的依赖版本号,子模块中添加依赖时不要添加版本号
4.开发测试阶段使用SNAPSHOT
5.生产发布使用RELEASE
6.新版本迭代只修改父POM中的版本和子模块依赖的父POM版本
5.参考文章
Versions maven plugin 修改版本
如何使用maven优雅地管理项目版本号
versions-maven-plugin官网
versions-maven-plugin插件批量修改版本号相关推荐
- Versions maven plugin 修改版本
文章目录 版本控制 修改全模块版本号 修改模块版本 修改指定模块版本号 参数介绍 代码经过长期修改后,版本号却从没有推进,导致个别release稳定版的模块更新代码之后,其他开发机器并不会自动更新本地 ...
- maven批量修改版本号
maven批量修改版本号 新版本开发时,我们需要修改一下项目中pom.xml的版本号.但是如果这个maven项目有很多的子模块项目,那么一个个手动的去改就显得费时费力又繁琐.还好,maven为我们提供 ...
- eclipse maven plugin 插件 安装 和 配置
本文转自:http://www.blogjava.net/fancydeepin/archive/2012/07/13/eclipse_maven3_plugin.html maven3 安装: 安装 ...
- maven 版本号插件_测试Maven版本插件自动递增版本号
maven 版本号插件 抽象 Maven版本插件是一个非常强大的工具,我在很大程度上依赖于它来协调软件版本. 通常,软件发行版本号遵循简单的1.0.0.0-SNAPSHOT格式. 但是最近我需要在版本 ...
- 测试Maven版本插件自动递增版本号
抽象 Maven版本插件是一个非常强大的工具,我在很大程度上依赖于它来协调软件版本. 通常,软件发行版本号遵循简单的1.0.0.0-SNAPSHOT格式. 但是最近我需要在版本号中添加限定符-类似于1 ...
- java plugin 安装_eclipse maven plugin 插件 安装 和 配置
Posted on 2012-07-13 12:40 fancydeepin 阅读(96246) 评论(45) 编辑 收藏 所属分类: Maven3 Guide 环境准备: eclipse(He ...
- eclipse maven plugin 插件安装和配置
2019独角兽企业重金招聘Python工程师标准>>> 环境准备: eclipse(Helios) 3.6 maven 3.0.4 maven3 安装: 安装 Maven 之前要求先 ...
- maven jetty 插件 允许修改 js
<!--允许修改js,css--><servlet><servlet-name>default</servlet-name><init-param ...
- 多模块Maven项目统一修改版本号
在编写多Module的Maven项目时,如果Module很多,并且存在复杂层级,那么修改项目版本号将会是一个大工程,我们需要去每个Module中修改当前Module的版本号,以及它依赖的parent的 ...
最新文章
- python ssl模块用法详解_一看就懂,Python 日志模块详解及应用!
- CentOS6.0_X86_64 oracle 11g R2 开机自动启动(linux)
- android 4.0之前版本号出现JSONException异常
- javafx之TableView的FXCSS
- tuning-primer.sh 性能调试工具的使用
- 控制使用期限_学校厨房设备延长其使用寿命的方法有哪些呢?
- Struts2 Action的访问路径
- android jni socket
- [js高手之路] dom常用节点属性兼容性详解与应用
- 分形理论在金相学中的应用
- 334个地级市名单_中国各级行政区划数量,统计到乡镇一级
- 人工智能培训的过去与现在
- 开心网辅助程序--开心网争车位助手正式发布(含源码)
- vue中Echart如何打包下载图片
- 关于手机常见音频POP音产生的原因以及解决思路(一)——耳机插入与拔出
- 现场dolphinscheduler每次都在晚上停止任务15分钟,是什么导致了这个情况?
- 怎样才能设计一个“易用性”好的网站?
- 基于AI的自然语言处理
- IELTS学习(001) - 语法构成原理
- 八、 以太坊的杰出之作:智能合约