1. 程式人生 > >記一次maven依賴不能更新的解決

記一次maven依賴不能更新的解決

程式碼結構大致是A是最頂級模組,B和C是A的子模組,D是C的子模組,B依賴D,ABCD都是0.0.1-SNAPSHOT版本。

在B的pom檔案裡,有D和C的依賴引用。

更新D的介面(添加了一個引數,變成2個引數)後,重新install D的模組,然後重新install C模組,更新B的引用,發現B對D引用顯示報錯飄紅,提示要求加一個引數;但是加了引數之後,也就是跟D的最新介面一致了,也是兩個引數了;結果install的時候報引數個數不對,提示應該為之前的那個一個引數的介面。改為之前的,雖然飄紅,但是能install通過。

很奇怪,嘗試各種清理更新,都無濟於事。最後發現把B的pom檔案裡的C依賴去掉,重新install D,然後將B對D的引用改為最新介面格式,install B也可以通過。此外,B對D的依賴,必須新增版本號,否則報引用錯誤。

 為什麼存在父級,會更新不到子級的最新資訊,一直沒搞明白,哪位大神知道的話,麻煩告知下。

子類必須帶版本號,我感覺應該是在pom依賴中,如果父級或者全域性沒有宣告版本,如果是同級模組,預設使用當前專案的版本;但是比該模組級別低的模組,則必須寫明版本。