Maven入門指南:倉庫
轉載https://blog.csdn.net/a258831020/article/details/49965803
1 . 倉庫簡介
沒有 Maven 時,專案用到的 .jar 檔案通常需要拷貝到 /lib 目錄,專案多了,拷貝的檔案副本就多了,佔用磁碟空間,且難於管理。Maven 使用一個稱之為倉庫的目錄,根據構件的座標統一儲存這些構件的唯一副本,在專案中通過依賴宣告,可以方便的引用構件。
maven是一種全新的專案構建方式,讓我們的開發更加簡單,高效。
Maven主要功能:
1. 依賴jar包,工程之間的依賴
2. 專案構建,實現專案的一步構建
3.
Maven還可以管理專案的整個宣告週期,包括編 譯,構建,測試,釋出,報告等等。目前Apache下絕大多數專案都已經採用Maven進行管理。而Maven本身還支援多種外掛,可以方便更靈活的控制專案。
準備工作
Java開發環境(JDK)
maven下載地址: http://maven.apache.org/release-notes-all.html
安裝
安裝maven超級簡單,總共分四步:
下載 Maven ,其實就是一個壓縮包,解壓一下
apache-maven-3.5.2-bin.zip是壓縮包,解壓到安裝路徑即可。
apache-maven-3.5.2-src.zip
為了您的方便,Maven以多種格式分發。只需選擇一個現成的二進位制發行歸檔檔案並按照 安裝說明進行操作。 如果您打算自己構建Maven,請使用原始碼歸檔。
參考文件
2.配置環境變數:
M2_HOME = D:\maven\apache-maven-3.5.4
在path變數末尾加入“%M2_HOME%\bin;`”。
3.最後,驗證是否安裝成功
現在我們開啟 cmd,輸入:mvn –v
我想您一定會看到一些資訊, 恭喜您,Maven 安裝成功!
在使用 Maven 之前,我們必須要了解一下 Maven 到底是怎樣管理 jar 包的,這就是 Maven 倉庫要乾的活了。
2 . 倉庫的佈局
構件都有唯一的座標,Maven 根據座標管理構件的儲存。如以下對 spring-orm-3.2.0 的儲存:
檔案路徑對應了:groupId/artifactId/version/artifactId-version.packaging
3 . 倉庫的分類
Maven 倉庫分為本地倉庫和遠端倉庫,尋找構件時,首先從本地倉庫找,找不到則到遠端倉庫找,再找不到就報錯;在遠端倉庫中找到了,就下載到本地倉庫再使用。中央倉庫是 Maven 核心自帶的遠端倉庫,預設地址:http://repo1.maven.org/maven2。除了中央倉庫,還有其它很多公共的遠端倉庫。私服是架設在本機或區域網中的一種特殊的遠端倉庫,通過私服可以方便的管理其它所有的外部遠端倉庫。
3 . 1 . 本地倉庫
Maven 本地倉庫預設地址為:${user.home}/.m2/repository。
通過修改 %MAVEN_HOME%/conf/settings.xml (或者:${user.home}/.m2/settings.xml,針對當前使用者(推薦))配置檔案可以更改本地倉庫的位置。
3 . 2 . 中央倉庫
安裝完 Maven ,本地倉庫幾乎是空的,這時需要從遠端倉庫下載所需構件。Maven 配置了一個預設的遠端倉庫,即中央倉庫,找到 %MAVEN_HOME%/lib/maven-model-builder-3.2.1.jar,開啟 org/apache/maven/model/pom-4.0.0.xml 超級POM:
1
3 . 3 . 在專案中新增其他遠端倉庫
當中央倉庫找不到所需的構件時,我們可以配置 pom.xml ,新增其它的遠端倉庫。
1 <repositories>
2 <repository>
3 <id>Sonatype</id>
4 <name>Sonatype Repository</name>
5 <url>http://repository.sonatype.org/content/groups/public/</url>
6 <layout>default</layout>
7 <releases>
8 <enabled>true</enabled>
9 </releases>
10 <snapshots>
11 <enabled>false</enabled>
12 </snapshots>
13 </repository>
14 </repositories>
其中 id 必須唯一,若不唯一,如設定為 central 將覆蓋中央倉庫的配置。
3 . 4 . 映象倉庫
映象倉庫可以理解為倉庫的副本,從倉庫中可以找到的構件,從映象倉庫中也可以找到。比如針對中央倉庫 http://repo1.maven.org/maven2 ,在中國有它的映象倉庫,這樣我們直接訪問映象倉庫,更快更穩定。
1 <settings>
2 ...
3 <mirrors>
<!--阿里雲映象倉庫 -->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
10 </mirrors>
11 ...
12 </settings>
其中,<mirrorOf> 指明瞭為哪個倉庫配置映象,可以使用萬用字元如:<mirrorOf>*</mirrorOf>,或者 <mirrorOf>repo1,repo2</mirrorOf> 等進行匹配。一旦配置了映象,所有針對原倉庫的訪問將轉到映象倉庫的訪問,原倉庫將不再能直接訪問,即使映象倉庫不穩定或停用。在搭建私服的時候,我們通常為所有倉庫設定映象為私服地址,通過私服對所有倉庫進行統一管理。
3 . 5 . 常用的倉庫搜尋地址
https://repository.sonatype.org/