1. 程式人生 > 程式設計 >修改Maven settings.xml 後配置未生效的解決

修改Maven settings.xml 後配置未生效的解決

1. 問題描述:

自己修改了下 ${M2_HOME}/conf/settings.xml中的本地repository地址,但是重新執行mvn的時候發現repository地址並沒有改變。那麼問題所在?

2. settings.xml檔案位置

settings.xml檔案一般存在於兩個位置:

全域性配置: ${M2_HOME}/conf/settings.xml

使用者配置: user.home/.m2/settings.xml

(note:使用者配置優先於全域性配置。)

3. 配置優先順序:

需要注意的是:區域性配置優先於全域性配置。

配置優先順序從高到低:pom.xml> user settings > global settings

如果這些檔案同時存在,在應用配置時,會合並它們的內容,如果有重複的配置,優先順序高的配置會覆蓋優先順序低的。

自己遇到的問題剛好驗證了上面優先順序的說法。修改~/.m2/settings.xml中的地址後變正常了。

補充知識:解決Maven修改setting.conf配置新增修改映象庫不生效的問題

問題描述

有時候出現一種奇怪的問題,就是無論如何修改遠端庫,映象庫的地址,好像都不生效。

下面給出排查方法與思路。

解決步驟

1、首先檢查eclipse或者IDEA中配置的settings檔案是否是自己編輯的那個檔案。

2、如果是,那麼檢查配置的映象庫mirror,看是否有mirrorOf配置的是*,這個值表示匹配所有的映象庫,相當於會遮蔽掉配置的其他的映象庫。

3、注意配置的優先順序,pom 配置 > settings中的配置

4、如果配置沒有問題,那麼檢查settings檔案是否有語法錯誤。特別是當出現不管怎麼改遠端庫地址,拉取jar的時候都跑去中央倉庫下載的現象時。有時候頻繁修改或者複製貼上,導致settings檔案語法出現了錯誤。可以在命令列執行下面的命令,如果有語法錯誤,會得到提示。

mvn help:effective-settings

PS:其實除了學習的時候,在settings中配置阿里雲映象庫來加速以外,通常工作中既會用到阿里雲、中央倉庫之類的公共庫,也要用到公司內的私服庫,因此我不是很推薦配置mirror映象來加速(因為mirror就算配了多個,也只會有一個生效),可以通過另一種方式配置多個遠端庫,既可以加速訪問公共庫,又可以同時訪問私服庫。

以上這篇修改Maven settings.xml 後配置未生效的解決就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。