IDEA小插件之快速修改Maven多模块的工程版本
Github:https://github.com/zwjlpeng/versions
问题
在Maven构建的多模块块程中,如果我们需要修改工程的版本号,会怎么操作呢
example
例如工程A包括了A-Base, A-Servie, A-Web, A-MS
A-Base继承于A
A-Service依赖于A-Base, 继承于A
A-Web依赖于A-Service, 继承于A
A-MS依赖于A-Service, 继承于A
现在我们需要将工程的版本号从1.0修到到2.0,需要怎么操作,打开所有的pom文件,然后ctrl+f定位到需要修改版本号的地方,然后手动修改,所有pom修改完后,还得校验一边,
重复性的工作太多,而且还容易由于遗望某个版本,导到线上依赖的版本不对,而出现一些诡异的事情,排查了半天,才发现是由于版本不对造成的问题
解决方法一
mvn versions:set -DnewVersion=2.0
mvn versions:update-child-modules
能够将所有父子模块中父模块的版本号变成2.0,但是却没法解决子模块各自依赖的版本号的变更,还需要我们借助ctrl+f一个一个的找,然后进行替换
此方法仍然比烦麻烦
解决方案二
就让我们自已写一款插件,由于笔者使用的是idea,因此基于idea开发了插件版本的快速修改工具,方便版本的快速修改,保证上线前父子模块版本号的一致,至于上线时要求父子模块版本不一致,这种比较怪异的需求,建议你还是ctrl+f吧
安装步骤
1.git clone https://github.com/zwjlpeng/versions.git
2.cd versions
3.open the `IntelliJ IDEA` development env 
4.click in order `IntelliJ IDEA` -> `Preferences` -> `Plugins` -> `Install plugins from disk` -> `select the version.jar`
5.restart the `IntelliJ IDEA`
附截图一

附图二

附图三

IDEA小插件之快速修改Maven多模块的工程版本的更多相关文章
- Maven 多模块父子工程 (含Spring Boot示例)
		
一.为什么要用Maven多模块 假设有这样一个项目,很常见的Java Web应用.在这个应用中,我们分了几层: Dao Service Web 对应的,在一个项目中,我们会看到一些包名: org.xx ...
 - 修改maven默认的JDK编译版本
		
1.全局模式(settings.xml) <profiles> <profile> <id>jdk-1.8</id> <activation> ...
 - maven常见问题处理(3-1)修改maven 默认使用的 jdk 版本
		
Eclipse工程应设定了1.8,maven编译仍然使用1.6的解决办法 解决方式有两种,一种是配置 pom.xml,一种是配置 settings.xml. 方式一:settings.xml 配置 打 ...
 - eclipse 如何修改maven插件本地仓库jar包默认存储位置
		
eclipse 如何修改maven插件本地仓库jar包默认存储位置 CreateTime--2018年4月18日11:04:47 Author:Marydon 1.更改eclipse的maven本 ...
 - 谷歌浏览器修改cookie访问网页的小插件——EditsThisCookie
		
cookie是服务器用来区分不同的浏览器客户端的,比如学生A和B同一时段用各自的电脑访问学校访问学校的教务系统查看成绩,登录之后,访问同一页面确出来不同的信息,并且不能查看对方的信息,这就是因为服务器 ...
 - 巧妙使用Firebug插件,快速监控网站打开缓慢的原因
		
原文 巧妙使用Firebug插件,快速监控网站打开缓慢的原因 很多用户会问,我的网站首页才50KB,打开网页用了近60秒才打开?如何解释? 用户抱怨服务器运行缓慢,w3wp.exe 出现 CPU 10 ...
 - Gradle 修改 Maven 仓库地址
		
gradle install--- http://www.itnose.net/detail/6500082.html http://stackoverflow.com/questions/51025 ...
 - Java 操作jar包工具类以及如何快速修改Jar包里的文件内容
		
需求背景:写了一个实时读取日志文件以及监控的小程序,打包成了Jar包可执行文件,通过我们的web主系统上传到各个服务器,然后调用ssh命令执行.每次上传前都要通过解压缩软件修改或者替换里面的配置文件, ...
 - 【Bootstrap】优秀小插件收集
		
Bootstrap中不乏很多优秀的小插件来让界面更加漂亮.比如之前做过笔记的bootstrap-fileinput,select2,datetimepicker等都是属于这一系列的.这些相对而言比较大 ...
 
随机推荐
- C#框架学习资料集锦
			
1.AllEmpty 的[从零开始编写自己的C#框架]系列 从零开始编写自己的C#框架(1)——前言从零开始编写自己的C#框架(2)——开发前的准备工作从零开始编写自己的C#框架(3)——开发规范从零 ...
 - # 2017-2018-1 20155302 课下实践IPC及课上补充
			
课上实践补交 题目二要求: 学习使用stat(1),并用C语言实现 提交学习stat(1)的截图 man -k ,grep -r的使用 伪代码 产品代码 mystate.c,提交码云链接 测试代码,m ...
 - WebUploader在IE9中文件选择按钮点击没反应
			
一.问题: 最近做的公司项目里,用户环境一直用的火狐,但是实际的用户群体都是银行人员 政府部门怎么也要用 IE,而且还有一些用的IE版本是古董版本IE9 IE9 相比 IE8 多了图像渲染等,无法兼容 ...
 - Linux命令学习笔记1
			
1.Linux命令学习 2.Mkdir /data -创建文件夹 在/下创建文件夹 data 3.Cd -目录切换 列如cd / 4.Touch /data/1 ...
 - 用 GSL 求解超定方程组及矩阵的奇异值分解(SVD) 2
			
接上一篇... 下面我们将 SVD 相关的功能封装成一个类,以方便我们提取 S 和 V 的值. 另外,当我们一个 A 有多组 x 需要求解时,也只需要计算一次 SVD 分解,用下面的类能减少很多计算量 ...
 - Ceph学习之路(三)Ceph luminous版本部署
			
1.配置ceph.repo并安装批量管理工具ceph-deploy [root@ceph-node1 ~]# vim /etc/yum.repos.d/ceph.repo [ceph] name=Ce ...
 - hdu1272小希的迷宫(并查集判断回路和是否连通)
			
传送门 迷宫中不能有回路,还要连通 如果最后集合数是一个那就是连通,否则不联通 要合并的两个顶点在相同集合内,表示出现了回路 输入时注意一下 #include<bits/stdc++.h> ...
 - Java 中的接口
			
接口概念 接口可以理解为一种特殊的类,由全局常量和公共抽象方法组成.类是一种具体实现体,而接口定义了某一些类所要遵守的规范,接口不必关心这些类的内部数据,也不关心这些类里方法的实现细节,它只规定这些类 ...
 - C# 通用树形数据结构
			
前言 树在图论中是一种重要的图,由于其自身的许多特殊性质,也是一种重要的计算机数据结构,在很多地方都有用.但是这些树大多都是作为其他应用的内部数据结构来使用.我们无法了解这些树的详细信息,而 .Net ...
 - 关于IPointerEnterHandler和IpointerExitHandler的简单说明
			
自己在学习UGUI背包系统时用到了,而且遇到一些问题,所以在这里写一下这两个接口的简单说明. 继承IPointerEnterHandler和IpointerExitHandler这两个接口后可以实现两 ...