问题描述:

自己修改了下 ${M2_HOME}/conf/settings.xml中的本地repository地址,但是重新执行mvn的时候发现repository地址并没有改变。那么问题所在?

1 settings.xml文件位置

settings.xml文件一般存在于两个位置:

全局配置: ${M2_HOME}/conf/settings.xml
用户配置: user.home/.m2/settings.xml

(note:用户配置优先于全局配置。)

2 配置优先级

需要注意的是:局部配置优先于全局配置。

配置优先级从高到低:pom.xml> user settings > global settings

如果这些文件同时存在,在应用配置时,会合并它们的内容,如果有重复的配置,优先级高的配置会覆盖优先级低的

自己遇到的问题刚好验证了上面优先级的说法。修改~/.m2/settings.xml中的地址后变正常了。

解决Maven修改setting.conf配置添加修改镜像库不生效的问题

问题描述

有时候出现一种奇怪的问题,就是无论如何修改远程库,镜像库的地址,好像都不生效

下面给出排查方法与思路。

解决步骤

1、首先检查eclipse或者IDEA中配置的settings文件是否是自己编辑的那个文件

2、如果是,那么检查配置的镜像库mirror,看是否有mirrorOf配置的是* ,这个值表示匹配所有的镜像库,相当于会屏蔽掉配置的其他的镜像库

3、注意配置的优先级,pom 配置 > settings中的配置同时检查项目 .m2 文件夹中有没有项目的 settings 配置

user settings(自己项目中的配置) > global settings(idea settings 窗口中 maven 的 settings 配置)

4、如果配置没有问题,那么检查settings文件是否有语法错误。特别是当出现不管怎么改远程库地址,拉取jar的时候都跑去中央仓库下载的现象时。有时候频繁修改或者复制粘贴,导致settings文件语法出现了错误。可以在命令行执行下面的命令,如果有语法错误,会得到提示。

mvn help:effective-settings

5、如果还不行,检查idea中的maven配置,如下图,虽然制定了seting.xml的路径,但是有时候可能不生效。把需要指定的setting.xml放到maven的conf下,覆盖掉原先的setting.xml2019.2 , 2019.3 版本的idea,会存在这个问题

maven profile未生效 maven配置不生效_xml