关键词:maven 、 maven-default-http-blocker 、 mvn block
当maven升级到3.8.1
之后,会遇到一个报错Could not validate integrity of download from
,其中包含maven-default-http-blocker
关键词,核心原因是maven 3.8.1之后认为HTTP不安全,禁用了HTTP的maven仓库访问,打开maven仓库的conf/settings.xml
文件,有以下内容
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>
尝试在搜索引擎搜索解决方案,没想到各个博客站点都是一群水货
👎水文一
修改maven安装路径下的conf/settings.xml
文件,将上面的内容删除
我问一个问题:用Mac和Linux的同学随着操作系统升级了maven, 升级一次改一次吗?
👎水文二
让升级HTTPS降低maven版本
如果能升级到HTTPS,当初一开始就不会搭建HTTP的私服?有什么大病吧?降maven版本,就这废话还能专门写文章?
😊水文三
为每个源添加<blocked>false</blocked>
标签
<mirror>
<id>xxx-repo</id>
<mirrorOf>external:http:*</mirrorOf>
<url>http://hostname:8081/repository/maven-public/</url>
<blocked>false</blocked>
</mirror>
这个方案还可以,但是一般稍微好点的公司都是阿里、网易、华为、清华、腾讯、中央仓库按照优先级排序使用的,还会有一些apache、Spring等企业内部的快照源,原则上不动已经写好的配置
⭐👍🐮完美方案
参考自 Stack Overflow社区
在当前用户家目录下个性化settings.xml
,变更~/.m2/settings.xml
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>dummy</mirrorOf>
<name>Dummy mirror to override default blocking mirror that blocks http</name>
<url>http://0.0.0.0/</url>
</mirror>
将上述内容放在<mirrors></mirrors>
中的第一个,其他的配置不动
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。