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多模块的工程版本的更多相关文章

  1. Maven 多模块父子工程 (含Spring Boot示例)

    一.为什么要用Maven多模块 假设有这样一个项目,很常见的Java Web应用.在这个应用中,我们分了几层: Dao Service Web 对应的,在一个项目中,我们会看到一些包名: org.xx ...

  2. 修改maven默认的JDK编译版本

    1.全局模式(settings.xml) <profiles> <profile> <id>jdk-1.8</id> <activation> ...

  3. maven常见问题处理(3-1)修改maven 默认使用的 jdk 版本

    Eclipse工程应设定了1.8,maven编译仍然使用1.6的解决办法 解决方式有两种,一种是配置 pom.xml,一种是配置 settings.xml. 方式一:settings.xml 配置 打 ...

  4. eclipse 如何修改maven插件本地仓库jar包默认存储位置

      eclipse 如何修改maven插件本地仓库jar包默认存储位置 CreateTime--2018年4月18日11:04:47 Author:Marydon 1.更改eclipse的maven本 ...

  5. 谷歌浏览器修改cookie访问网页的小插件——EditsThisCookie

    cookie是服务器用来区分不同的浏览器客户端的,比如学生A和B同一时段用各自的电脑访问学校访问学校的教务系统查看成绩,登录之后,访问同一页面确出来不同的信息,并且不能查看对方的信息,这就是因为服务器 ...

  6. 巧妙使用Firebug插件,快速监控网站打开缓慢的原因

    原文 巧妙使用Firebug插件,快速监控网站打开缓慢的原因 很多用户会问,我的网站首页才50KB,打开网页用了近60秒才打开?如何解释? 用户抱怨服务器运行缓慢,w3wp.exe 出现 CPU 10 ...

  7. Gradle 修改 Maven 仓库地址

    gradle install--- http://www.itnose.net/detail/6500082.html http://stackoverflow.com/questions/51025 ...

  8. Java 操作jar包工具类以及如何快速修改Jar包里的文件内容

    需求背景:写了一个实时读取日志文件以及监控的小程序,打包成了Jar包可执行文件,通过我们的web主系统上传到各个服务器,然后调用ssh命令执行.每次上传前都要通过解压缩软件修改或者替换里面的配置文件, ...

  9. 【Bootstrap】优秀小插件收集

    Bootstrap中不乏很多优秀的小插件来让界面更加漂亮.比如之前做过笔记的bootstrap-fileinput,select2,datetimepicker等都是属于这一系列的.这些相对而言比较大 ...

随机推荐

  1. PI接口开发之调java WS接口(转)

    java提供的WSDL:http://XXX.XXX.XXX.XX/XXXXXXXcrm/ws/financialStatementsService?wsdl 登陆PI,下载Enterprise Se ...

  2. 【HNOI2015】开店

    题面 题解 树链剖分 + 主席树 先考虑一个简单一点的问题: [LNOI2014]LCA 我们考察\(dep[\mathrm{LCA}(i, x)]\)的性质,发现它是\(i\)和\(x\)的链交的长 ...

  3. BZOJ2034 【2009国家集训队】最大收益

    题面 题解 第一眼:线段树优化连边的裸题 刚准备打,突然发现: \(1 \leq S_i \leq T_i \leq 10^8\) 这™用个鬼的线段树啊 经过一番寻找,在网上找到了一篇论文 大家可以去 ...

  4. 2_C语言中的数据类型 (七)类型限定

    1.1       类型限定 1.1.1          const const是代表一个不能改变值的常量 1.1.2          volatile 代表变量是一个可能被CPU指令之外的地方改 ...

  5. 第一章:什么是Linux

    Linux可以分为四部分: Linux 内核:系统内存管理,软件程序管理,硬件设备管理和文件系统管理 GNU 工具:除了内核控制硬件系统,操作系统还需要一些工具执行标准功能,比如控制文件和程序.包括核 ...

  6. 异步任务(Celery)详解

    一.背景 在开发中,我们可能经常会遇到一些需要执行时间很长的任务,如果放在前端,会让用户一直卡在那儿等待或者一直转圈圈,体验非常不好.为了改善这种体验,我赶紧上网搜索,果然,前人早已有解决办法了.那就 ...

  7. [PLC]ST语言二:LDP_LDF_ANDP_ANDF_ORP_ORF

    一:LDP_LDF_ANDP_ANDF_ORP_ORF基本指令 说明:简单的顺控指令不做其他说明. 控制要求:无 编程梯形图: 结构化编程ST语言: (*LDP(EN,s)/ORP(EN,S)*) M ...

  8. Qt-网易云音乐界面实现-4 实现推荐列表和我的音乐列表,重要在QListWidget美化

    来标记下这次我么实现的部分 这次我们来是试下这部分功能,来对比一下,左边是原生,右面是我写的,按着模仿的海可以哈,就有有的资源不是一样了,因为我连抠图都懒得扣了了 好了,现在就是我的是先过程了,主要教 ...

  9. 自动化jenkins报:ModuleNotFoundError: No module named 'common'

    直接执行脚本是没有问题,报如下错误: 你已经在run.py脚本加路径了为什么还会报这个错呢,就是你加的路径,应该在所有的包上面,才不会报这个错,如下: 注:以下是我的解决方法仅作参考.如果我的发表的内 ...

  10. eclipse—Maven项目打包成exe

    1.下载打包工具j2ewiz  友情连接:https://pan.baidu.com/s/1Rcoqix5QcrJVI1of9h7qbQ提取码:vqn1 2.选中想要打包的文件,右击—Export 按 ...