mirror和repository的區(qū)別分析
internal repository是指在局域網(wǎng)內(nèi)部搭建的repository,它跟central repository, jboss repository等的區(qū)別僅僅在于其URL是一個(gè)內(nèi)部網(wǎng)址
mirror則相當(dāng)于一個(gè)代理,它會(huì)攔截去指定的遠(yuǎn)程repository下載構(gòu)件的請(qǐng)求,然后從自己這里找出構(gòu)件回送給客戶端。配置mirror的目的一般是出于網(wǎng)速考慮。
可以看出,internal repository和mirror是兩碼事。前者本身是一個(gè)repository,可以和其它repository一起提供服務(wù),比如它可以用來(lái)提供公司內(nèi)部的maven構(gòu)件;而后者本身并不是repository,它只是遠(yuǎn)程repository的網(wǎng)絡(luò)加速器。
不過(guò),很多internal repository搭建工具往往也提供mirror服務(wù),比如Nexus就可以讓同一個(gè)URL,既用作internal repository,又使它成為所有repository的mirror。
如果倉(cāng)庫(kù)X可以提供倉(cāng)庫(kù)Y存儲(chǔ)的所有內(nèi)容,那么就可以認(rèn)為X是Y的一個(gè)鏡像。換句話說(shuō),任何一個(gè)可以從倉(cāng)庫(kù)Y獲得的構(gòu)件,都胡夠從它的鏡像中獲取。舉個(gè)例子, 是中央倉(cāng)庫(kù) 在中國(guó)的鏡像,由于地理位置的因素,該鏡像往往能夠提供比中央倉(cāng)庫(kù)更快的務(wù)。因此,可以配置Maven使用該鏡像來(lái)替代中央倉(cāng)庫(kù)。編輯setTIngs.xml,代碼如下:
<setTIngs>