IDEA设置maven修改settings.xml配置文件无法加载仓库[通俗易懂]

idea (49) 2023-03-25 10:05

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,那么私有仓库的请求会被转到镜像,当然我们并不需要这样。

仓库:仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。

所以并不是仓库和镜像都要配置,许多文章也没意识到这点,如果我只用内部搭建的私有仓库根本不需要去配什么镜像。

idea 配置maven

file->settings

IDEA设置maven修改settings.xml配置文件无法加载仓库[通俗易懂]_https://bianchenghao6.com/blog_idea_第1张

配置好后刷新下重新加载,下载maven依赖

IDEA设置maven修改settings.xml配置文件无法加载仓库[通俗易懂]_https://bianchenghao6.com/blog_idea_第2张

如果不好使,关掉idea再重开,idea会抽风

发表回复