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