基於上一篇, 再次修改工程結構
思考:
1. 爲什麼父pom的默認路徑是當前路徑的上一級? 即 ../
2. maven的模塊,都應該是具有內部功能聯繫的模塊, 第一篇中關於root-pom的三個模塊中的引用, 會造成後續升級 root-pom版本, 每個模塊的pom都有修改的問題
3. 每個子pom, 都有自己的座標及版本信息, 這個和本身的pom繼承關係有一點違和
基於以上三點, 作出修改:
1. 工程pom繼承root-pom, 各個子模塊繼承工程pom爲父pom,這樣的改動, 對工程沒有影響,只是多了一層繼承結構, 由於是模塊繼承關係,.工程的pom修改回直接傳遞到個模塊中的pom中
2. 各個子模塊不在擁有自己的version及 groupId信息, 全部繼承自工程pom
經過上述修改,
1. 如果root-pom升級, 僅最晚層的工程pom修改版本號即可, 做到了最小改動
2. 如果api 或 module及其他相關發佈jar發生表動 需要升級版本再次發版, 則在工程目錄下直接執行
mvn versions:set -DnewVersion=1.0.1 , 即可升級版本(1.0.1 或你指定的版本號), 確認版本升級無誤, 繼續執行
mvn versions:commit, 然後提交修改即可
3. 結構上, 各個子模塊保持和工程pom一致的groupId和一致的版本.