首页 > 编程语言 > 修改Maven settings.xml 后配置未生效的解决
2020
10-10

修改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 后配置未生效的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。

编程技巧