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`
附截圖一
附圖二
附圖三