maven2的setting.xml大家都知道,里面有個mirrors節點,用來配置鏡像URL。
mirrors可以配置多個mirror,每個mirror有id,name,url,mirrorOf屬性,id是唯一標識一個mirror就不多說了,name貌似沒多大用,相當於描述,url是官方的庫地址,mirrorOf代表了一個鏡像的替代位置,例如central就表示代替官方的中央庫。
我本以為鏡像庫是一個分庫的概念,就是說當a.jar在第一個mirror中不存在的時候,maven會去第二個mirror中查詢下載。但事實卻不是這樣,當第一個mirror中不存在a.jar的時候,並不會去第二個mirror中查找,甚至於,maven根本不會去其他的mirror地址查詢。
后來終於知道,maven的mirror是鏡像,而不是“分庫”,只有當前一個mirror無法連接的時候,才會去找后一個,類似於備份和容災。
還有,mirror也不是按settings.xml中寫的那樣的順序來查詢的。
所謂的第一個並不一定是最上面的那個。
>>>>>>當有id為B,A,C的順序的mirror在mirrors節點中,maven會根據字母排序來指定第一個,所以不管怎么排列,一定會找到A這個mirror來進行查找,當A無法連接,出現意外的情況下,才會去B查詢。