關鍵詞: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>中的第一個,其他的配置不動