1. 程式人生 > >Maven依賴下載速度慢,不用怕,這麼搞快了飛起

Maven依賴下載速度慢,不用怕,這麼搞快了飛起

一、背景

眾所周知,Maven對於依賴的管理讓我們程式設計師感覺爽的不要不要的,但是由於這貨是國外出的,所以在我們從中央倉庫下載依賴的時候,速度如蝸牛一般,讓人不能忍,並且這也是大多數程式設計師都會遇到的問題。今天我們就教大家一招來完美解決這個問題,從此遠離下載依賴速度極慢的困擾。

二、原理及解決方式

1.其實maven為了解決遠端依賴下載慢的問題,提供了我們可以使用映象來進行解決。

2.映象:如果倉庫X可以提供倉庫Y儲存的所有內容,那麼就可以認為X是Y的一個映象。換句話說,任何一個可以從倉庫Y獲得的構件,都胡夠從它的映象中獲取。

3.maven安裝程式conf資料夾下setting.xml中的<mirrorOf></mirrorOf>元素

<mirrorOf></mirrorOf>標籤裡面放置的是要被映象的Repository ID。為了滿足一些複雜的需求,Maven還支援更高階的映象配置:

  • <mirrorOf>*</mirrorOf>

匹配所有遠端倉庫。

  • <mirrorOf>repo1,repo2</mirrorOf>

匹配倉庫repo1和repo2,使用逗號分隔多個遠端倉庫。

  • <mirrorOf>*,!repo1</miiroOf>

匹配所有遠端倉庫,repo1除外,使用感嘆號將倉庫從匹配中排除。

4.注意

由於映象倉庫完全遮蔽了被映象倉庫,當映象倉庫不穩定或者停止服務的時候,Maven仍將無法訪問被映象倉庫,因而將無法下載構件。

5.阿里為我們提供了公共的Maven映象庫,我們就來配置它作為我們的中央倉庫的映象(當然你也可以指定別的Maven映象庫,比如OSChina的,但是阿里的映象庫是目前我所知道的速度最快的一個)

<mirror> 
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

我們只需要在我們的本地maven安裝位置下的conf資料夾下的setting.xml中的<mirrors>映象集合中新增如上的中央倉庫的映象就可以解決maven下載依賴速度慢的問題。