問題
在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修改完后,還得校驗一邊,
重復性的工作太多,而且還容易由于遺望某個版本,導到線上依賴的版本不對,而出現一些詭異的事情,排查了半天,才發(fā)現是由于版本不對造成的問題
解決方法一
mvn versions:set -DnewVersion=2.0 mvn versions:update-child-modules
能夠將所有父子模塊中父模塊的版本號變成2.0,但是卻沒法解決子模塊各自依賴的版本號的變更,還需要我們借助ctrl+f一個一個的找,然后進行替換
此方法仍然比煩麻煩
解決方案二
就讓我們自已寫一款插件,由于筆者使用的是idea,因此基于idea開發(fā)了插件版本的快速修改工具,方便版本的快速修改,保證上線前父子模塊版本號的一致,至于上線時要求父子模塊版本不一致,這種比較怪異的需求,建議你還是ctrl+f吧
安裝步驟
1.git clone https://github.com/zwjlpeng/versions.git
網友評論