代码改变世界

IDEA小插件之快速修改Maven多模块的工程版本

2016-11-21 19:25  让猪再飞会  阅读(6768)  评论(0编辑  收藏  举报

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`

附截图一

附图二

 

 

附图三