[TOC]
# maven中的坐標和倉庫
## 坐標
> 在一個平面坐標系中,有x軸和y軸,x軸就是橫線,y軸就是豎線,坐標(x,y)表示這個點距離x軸為y,距離y軸為x的一點,任何一個坐標都能唯一標識該平面中的一點。
在Maven 的世界中,任何一個依賴、插件、或者項目的構建輸出,都可以稱為構件。
所有構件通過坐標作為唯一的標識。

Maven的坐標元素包括groupId、artifactId、version。只要我們提供正確的坐標元素,Maven就能找到對應的構件。

> 在自己開發項目的時候,也是要給我們的項目定義坐標的,這是強制性要求,只有這樣,其他項目才能引用該項目的構件。
## 倉庫
倉庫指的是在某個位置統一存儲所有maven項目共享構件。

首先去你的本地倉庫查找,沒有的話再去遠程倉庫下載。如果沒有配置遠程倉庫,會默認從中央倉庫地址(https://search.maven.org)下載構件,該中央倉庫包含了世界上大部分流行的開源項目構件。

### 鏡像倉庫
由于國外訪問速度太慢,國內也有提供一樣的功能的倉庫,相對速度會更快,可以修改鏡像倉庫的位置。

找到conf目錄下的setting.xml文件,打開

推薦使用阿里云的,速度較快
```
<mirrors>
…
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
</mirrors>
```
### 更改倉庫位置
1. 修改本地倉庫地址
默認存儲在C盤中,為了防止重裝系統等操作將本地倉庫刪除,可以更改倉庫位置。
新建repository文件夾,在修改conf下的settings.xml,如下圖:

2. 再將conf下的settings.xml文件復制一份到剛新建repository下(以后更新maven版本就不必修改settings文件)
3. 測試:可以看出,編譯項目,項目會被加載到剛剛創建的repository文件夾下

