倉庫分類
對于Mavne來說,倉庫只分為兩類:本地倉庫和遠程倉庫。當Maven根據坐標查詢尋找構件的時候,它首先會查看本地倉庫,如果本地倉庫存在此構件,則直接使用;如果本地倉庫不存在此構件,或者需要查看是否有更新的構件版本,Maven就會去遠程倉庫查找,發現需要的構件之后,下載到本地倉庫在使用。如果本地倉庫和遠程倉庫都沒有需要的構件,Maven就會報錯。
本地倉庫
安裝好maven后,如果不執行任何maven命令,本地倉庫目錄是不存在的,當用戶輸入第一條命令時,maven才會創建本地倉庫,Linux或者Windows系統默認的本地倉庫目錄為用戶目錄下 .m2/repository/,然后根據配置和需要,從遠程倉庫下載構件至本地倉庫。
通過修改Maven安裝目錄/conf/settings.xml文件或者.m2/settings.xml文件,設置localRepository屬性指定本地倉庫的目錄地址
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><!-- localRepository| The path to the local repository maven will use to store artifacts.| Default: ${user.home}/.m2/repository--><localRepository>/path/to/local/repo</localRepository>
</settings>
通過本地項目中執行 mvn clean install命令可以將本地項目安裝到本地庫中。
遠程倉庫
中央倉庫是默認的遠程倉庫,Maven的安裝文件自帶了中央倉庫的配置。安裝目錄lib子目錄下maven-model-builder-xxx.jar包中
org\apache\maven\model\pom-xxx.xml文件中可以看到
<repositories><repository><id>central</id><name>Central Repository</name><url>https://repo.maven.apache.org/maven2</url><layout>default</layout><snapshots><enabled>false</enabled></snapshots></reposi