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 后配置未生效的解決就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/zhaominpro/article/details/82191152