定義
倉庫:就是存放構件的地方。
倉庫分為兩大類:
1 本地倉庫
2 遠程倉庫
2.1 中央倉庫
2.2 其他公共庫
2.3 私服
本地倉庫,顧名思義就是本地本機放置構件的地方。Maven從遠程倉庫down下來的構件,都存放在本地倉庫中,項目可以從本地Maven倉庫中獲取自己所依賴的文件。
遠程倉庫,運行Maven時,Maven所需要的任何構件都是從本地倉庫獲取的。但如果本地倉庫沒有,它就會嘗試從遠程倉庫中下載構件到本地倉庫,然后使用本地倉庫中的構件。其中,私服一般是指公司內部使用的倉庫。如果Maven無法連接到遠程倉庫,將無法正常構建項目。
配置
本地倉庫
Maven缺省的本地倉庫地址為 ${user.home}/.m2/repository 。
我們可以自定義本地倉庫的位置,我的Maven是解壓版,可以直接打開${user.home}/conf/settings.xml進行修改
<setting>
<localRepository>local repository</localRepository>
</setting>
遠程倉庫
中央倉庫
1. 可以在Maven項目中的POM.XML中設置。Maven默認中央倉庫的id 為 central,因此使用<id>central</id>可以覆蓋默認中央倉庫。由於這樣寫只能在一個項目中有效,並不推薦使用。
<repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>http://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<!-- 是否開啟發布版構件下載 -->
<releases>
<enabled>true</enabled>
</releases>
<!-- 是否開啟快照版構件下載 -->
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
2. 可以在${user.home}/conf/settings.xml中設置鏡像,覆蓋默認中央倉庫。其中,<mirrorOf>可以設置為哪個中央倉庫做鏡像,* 代表所有中央倉庫,如果只為central中央倉庫做鏡像,可以<mirrorOf>central</mirrorOf>
<mirror>
<id> maven-net-cn</id>
<name> Maven China Mirror</name>
<url> http://repo1.maven.org/maven2/</url>
<mirrorOf>*</mirrorOf>
</mirror>