报错信息:org.springframework.boot:spring-boot-starter-parent:pom:2.2.7.RELEASE failed to transfer 

本人出现的问题是idea升级到2021.3.3版本,maven使用3.8.6版本后,发现有些依赖下不下来,maven私有仓库挂了。查看一下idea 默认maven配置:

 发现idea 2021.3.3版本内置的是3.8.1版本的maven。

Maven3.8.1发布一个变更(CVE-2021-26291):

由于使用 HTTP 的自定义存储库可能导致中间人攻击。现在越来越多的存储库使用 HTTPS,但情况并非总是如此。这意味着 Maven Central 包含带有自定义存储库的 POM,这些存储库通过 HTTP 引用 URL。这使得通过此类存储库下载的内容成为攻击目标。开发人员可能没有意识到某些下载使用了不安全的 URL。由于上传到 Maven Central 的 POM 是不可变的,因此需要对 Maven 进行更改。

为了解决这个问题,从3.8.1开始setting.xml会增加一个默认镜像maven-default-http-blocker来阻止从HTTP链接下载不安全的依赖库。

因为我们的Maven私有仓库是内网部署的,并没有去设置HTTPS,所以导致了这个问题。 

解决办法:

(1):降级IDEA版本或者不使用内置的Maven

(2):使用https进行下载(推荐)

进入maven的setting.xml文件,将上述截图代码进行注释,添加如下镜像:

     <mirror>
		<id>aliyunmaven</id>
		<mirrorOf>*</mirrorOf>
		<name>阿里云公共仓库</name>
		<url>https://maven.aliyun.com/repository/public</url>
	 </mirror>
		

有些电脑还会出现了一个问题,由于使用了HTTPS,存在着SSL证书验证的问题,因此在IDEA中添加了一行配置:

配置如下:

-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true

 该配置用于忽略ssl证书的验证。


下载依赖时,会发现有些RELEASE 版本 不好下载,因为阿里云的镜像仓库移除了这些版本

在 pom 文件中加入:

<!-- 解决 spring-boot jar 包下载问题 -->
<repositories>
    <repository>
        <id>spring-snapshots</id>
        <url>https://repo.spring.io/libs-snapshot</url>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>spring-snapshots</id>
        <url>https://repo.spring.io/libs-snapshot</url>
    </pluginRepository>
</pluginRepositories>

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐