1.情景展示
从git上面下载下来的项目,项目导包失败,具体报错信息如下:
无法访问 Maven 3.8.1 http 仓库
可能的解决方案:
- 检查 Maven settings.xml 是否不包含 http 仓库
- 检查 Maven pom 文件是否不包含 http 仓库 http://maven.aliyun.com/nexus/content/groups/public/
- 在 Maven settings.xml 中为 http://maven.aliyun.com/nexus/content/groups/public/ 添加允许 http url 的镜像
- 在设置中将 Maven 降级到 3.8.1 或更早的版本
2.具体分析
自 Maven 3.8.1 版本起,出于安全考虑,Maven 默认禁止了对 HTTP 仓库的访问。这一变化旨在防止通过不安全连接下载依赖项可能带来的安全风险。然而,对于一些只能通过 HTTP 访问的私有仓库,这一限制可能会导致构建过程失败,从而影响开发效率和项目进展。
具体表现为:在使用 Maven 构建项目时,如果 settings.xml 或 pom.xml 文件中包含 HTTP 仓库的配置,Maven 将会抛出异常,提示禁止使用 HTTP 仓库。这对于一些无法立即升级为 HTTPS 的私有仓库而言,是一个亟需解决的问题。
3.解决方案
在 settings.xml 中配置一个允许 HTTP 的镜像。
具体步骤如下:
打开maven的配置文件settings.xml
文件路径:MAEN_HOME/conf/settings.xml。
如果找不到的话,可以在idea中查看自己配置的是maven信息。
如下图所示,使用了http仓库
我们需要为该仓库添加镜像。
在mirrors标签中,添加:
<mirrorOf>*指定了这个镜像将匹配所有的仓库;
<url>是您的镜像仓库的HTTP URL;
<blocked>false</blocked>确保了HTTP 下载不会被Maven默认阻止。
写在最后
哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!