1、依賴庫來源
POM依賴一個庫
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
會從如下幾個地方獲取
本地倉庫 、POM文件中指定的倉庫地址、Setting.xml中profile指定的倉庫地址、中央倉庫地址
2、各種倉庫
本地倉庫:
pom.xml中定義的倉庫:
<repositories>
<repository>
<id>foo</id>
<name>Public Repositories</name>
<url>http://dev.xxx.wiki:8081/nexus/content/groups/public/</url>
</repository>
</repositories>
setting.xml中定義的倉庫:
中央倉庫:
默認中央倉庫:http://repo1.maven.org/maven2/
鏡像(mirror):
中央倉庫central通常使用鏡像mirror覆蓋,如
mirrorOf 標簽里面放置的是 repository 配置的 id,為了滿足一些復雜的需求,Maven還支持更高級的鏡像配置:
external:* = 不在本地倉庫的文件才從該鏡像獲取
repo,repo1 = 遠程倉庫 repo 和 repo1 從該鏡像獲取
*,!repo1 = 所有遠程倉庫都從該鏡像獲取,除 repo1 遠程倉庫以外
* = 所用遠程倉庫都從該鏡像獲取
總結:
1、順序 本地倉庫 > setting.xml中定義倉庫 > pom文件中定義倉庫 > 中央倉庫
2、一旦某個倉庫id(除本地倉庫)定義了鏡像(mirrors) 將以鏡像為准,本身倉庫URL將失去作用