Failure to find xxx in http://maven.aliyun.com/nexus/content/groups/public

【maven报错】

报错问题

Failure to find io.iec.edp:caf-boot-parent:pom:0.3.4 in http://maven.aliyun.com/nexus/content/groups/public was cached in the local repository, resolution will not be reattempted until the update interval of nexus-aliyun has elapsed or updates are forced

报错解释: 这个错误提示,本地仓库有xxx.jar包,但是中央仓库没有该包,所以报错。

报错分析(重点):我的项目出现这种maven错误,主要是因为maven配置文件setting.xml的位置存放问题!!

解析: 因为公司项目用到的maven和我平时练习用的maven的配置文件不同,所以我在maven文件夹下创建了另一个文件夹,把公司的maven配置文件放到这里,然后在idea中设置maven配置文件时选的这个,然后便一直报上述的那个错误。

如图:(这里我没有把setting.xml配置文件放到conf文件夹下)
Failure to find xxx in http://maven.aliyun.com/nexus/content/groups/public_第1张图片

中间本人找了各种办法,参考了许多其他博客的解决办法,但是都没有解决上述异常。

解决办法: 最后,通过查看maven学习笔记,忽然发现maven的配置文件注意事项:重点来了!!!

maven的setting.xml配置文件,一般存放于maven安装路径下的conf文件夹下,代表maven的全局配置。

如图:

Failure to find xxx in http://maven.aliyun.com/nexus/content/groups/public_第2张图片

我之前是把公司的那个setting.xml配置文件放在了另一个文件夹,并没有把他放在conf这个文件夹下,所以!!!

即便idea中把maven的配置文件设置了,它也不会生效!!只有conf文件夹下的或C盘.m2文件夹中的配置文件setting.xml 会生效!!!这便是解决办法!(关于.m2文件中的配置文件,总结中有解释)

总结

settings.xml文件一般存在于Maven的安装目录的conf子目录下面,或者是用户目录的.m2子目录下面。

Failure to find xxx in http://maven.aliyun.com/nexus/content/groups/public_第3张图片

其实相对于多用户的PC机而言,在Maven安装目录的conf子目录下面的settings.xml才是真正的全局的配置。

而用户目录的.m2子目录下面的settings.xml的配置只是针对当前用户的。当这两个文件同时存在的时候,那么对于相同的配置信息,用户目录下面的settings.xml中定义的会覆盖Maven安装目录下面的settings.xml中的定义。

另外!用户目录下的settings.xml文件一般是不存在的,但是Maven允许我们在这里定义我们自己的settings.xml,如果需要,在这里定义我们自己的settings.xml的时候就可以把Maven安装目录下面的settings.xml文件拷贝到用户目录的.m2目录下,然后改成自己想要的样子。

由此!

综上所述,maven的配置文件settting.xml,只有将其放在conf文件夹下或C盘用户目录的.m2目录下,才会生效!

题外

另外,报如上所述的异常,并不一定只是配置文件的位置问题,还有可能是其他问题,比如配置文件中的远程镜像配置等等。这里列出我参考过的文章:

https://blog.csdn.net/heyianliunian/article/details/121048854
https://blog.csdn.net/Hello_Ray/article/details/87937506
https://blog.csdn.net/Frankenstein_/article/details/100885761

你可能感兴趣的:(java,maven,intellij-idea,maven,java)