Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说IDEA设置maven修改settings.xml配置文件无法加载仓库[通俗易懂],希望能够帮助你!!!。
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
作为初学者配置maven一般网上搜索。然后你就看到各种配置文件片段,首先配置镜像,然后配置仓库。完事后再IDEA里面配置下maven的路径和配置文件路径。
这些文章属实坑爹,完全没讲一个重要的配置就是activeProfiles
。
当我配置了各种,捣腾了半天,idea里面死活加载不进去我配置的仓库信息。
最后配置好activeProfiles就行了,这个基本99%的文章都没讲过要配置,自己不仔细去看文档就会掉入陷阱。
activeProfiles 下面配置的是要激活的profile。
<activeProfiles>
<activeProfile>profileid</activeProfile>
</activeProfiles>
#maven settings.xml 配置 配置的profile
<profile>
<id>profileid</id>
<repositories>
<repository>
<id>snapshots</id>
<name>snapshots</name>
<url>http://xxx.xxx.xx.xx:8081/nexus/content/repositories/snapshots/</url>
</repository>
</repositories>
</profile>
使用的是内部搭建的私有仓库。
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
镜像:mirror相当于一个拦截器,它会拦截maven对remote repository的相关请求,把请求里的remote repository地址,重定向到mirror里配置的地址。
拦截规则:mirrorOf指定的是哪个就拦截哪个,central就会拦截中央仓库的请求,mirrorOf里面的值是repository的id值。比如我把central换成上面我私有仓库id的snapshots,那么私有仓库的请求会被转到镜像,当然我们并不需要这样。
仓库:仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。
所以并不是仓库和镜像都要配置,许多文章也没意识到这点,如果我只用内部搭建的私有仓库根本不需要去配什么镜像。
file->settings
配置好后刷新下重新加载,下载maven依赖