最近換了新的maven版本,3.8.2,構建項目時報錯
Could not transfer artifact from/to
對應的包
maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for
百度到有兩種解決方案:
- 修改maven遠程倉庫地址。比如:添加ali的maven倉庫地址。
- 替換為3.8.1之前的maven版本。
添加阿里雲maven遠程倉庫
conf/setting.xml文件
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里雲公共倉庫</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
阿里雲官網maven遠程倉庫配置教程:https://developer.aliyun.com/mvn/guide
官網的解釋如下:
我們從 Jonathan Leitchuh 收到了一份關於依賴 POM 中自定義存儲庫漏洞的報告。我們將其分為三個獨立的問題:
由於使用 HTTP 的自定義存儲庫可能導致中間人攻擊
現在越來越多的存儲庫使用 HTTPS,但情況並非總是如此。這意味着 Maven Central 包含帶有自定義存儲庫的 POM,這些存儲庫通過 HTTP 引用 URL。這使得通過此類存儲庫下載的內容成為 MITM 攻擊的目標。同時,開發人員可能沒有意識到某些下載使用了不安全的 URL。由於上傳到 Maven Central 的 POM 是不可變的,因此需要對 Maven 進行更改。為了解決這個問題,我們使用
決定默認阻止此類外部 HTTP 存儲庫:這是通過在conf/settings.xml阻止不安全 HTTP 外部 URL 中提供鏡像來完成的。
由於使用廢棄域的自定義存儲庫可能導致域劫持
Sonatype 分析了哪些域已被廢棄並已聲明這些域。
通過重定向到自定義存儲庫可能劫持下載
這是最難分析和解釋的。簡短的故事是:您很安全,依賴項僅從其上下文中的存儲庫下載。所以有兩個主要問題:上下文是什么,順序是什么?該訂單在Repository Order 中描述頁。第一組存儲庫在 settings.xml 中定義(用戶和全局)。第二組存儲庫基於繼承,最終超級 POM 包含指向 Maven Central 的 URL。第三組是最復雜的一組,但對於理解術語上下文很重要:從依賴路徑到工件的有效 POM 的存儲庫。因此,如果一個依賴項是由另一個依賴項或 Maven 項目定義的,它也將包含它們的存儲庫。歸根結底,這不是錯誤,而是設計功能。
上面是機翻的結果。總體意思就是沒有默認倉庫,需要自己加一個遠程倉庫地址。
並且不能使用http地址,如果要用,要怎么怎么配置來着。
參考鏈接:
https://www.cnblogs.com/exmyth/p/15478431.html