1. 程式人生 > >Maven的倉庫和settings.xml配置檔案

Maven的倉庫和settings.xml配置檔案

快速導航:

        在Maven基礎概念和安裝配置一文中,我們簡單學習了Maven是什麼,安裝包裡邊的各個資料夾都存放著哪些東西,並且進行了簡單的安裝配置。在本文中,我們將進一步學習瞭解何為Maven倉庫以及Maven的配置檔案settings.xml如何配置。

Maven的倉庫

       Maven用來儲存依賴和外掛的一個統一的地方,稱之為倉庫,Maven倉庫又分為本地倉庫和遠端倉庫。遠端倉庫又分為私服和中央倉庫等。

 我們以一幅圖來表示它們的關係:

本地倉庫

       就是maven在本地(我們的計算機上)儲存構件(依賴的Jar包等)的倉庫,預設是在使用者的.m2/repository/

目錄下。需要注意的是剛開始在.m2/下邊是沒有這個repository/資料夾的,當我們在命令列中執行mvn命令後才會出現該資料夾,並且在該資料夾下儲存我們從遠端倉庫下載的構件。

既然Maven預設在/.m2/repository/下儲存依賴和構件,那麼我們是不是可以改變自定義這個位置?

答案是肯定的,注意看圖中的/.m2/settings.xml 該檔案是maven的配置檔案,我們可以在該檔案中通過標籤<localRepository></localRepository>來配置本地倉庫的位置。(settings.xml檔案是啥?其作用是啥?我們需要如何配置將在下邊詳細講解)

遠端倉庫

      遠端倉庫又分為中央倉庫私服以及其它公共庫,我們也借用一幅圖來闡述它們之間的關係。

由圖中可以看出,我們Maven使用者是在和私服打交道,包括上傳和下載構件,當私服滿足不了我們的下載構件需求時,私服會和中央倉庫或者其餘公共倉庫互動,將使用者需要的構件快取在私服倉庫中。那麼何為私服?

私服

       私服是一種特殊的遠端倉庫,它是架設在區域網內的倉庫服務,私服代理廣域網上的遠端倉庫,供區域網內的Maven使用者使用。

區域網使用搭建maven私服的好處

1.節省外網頻寬:減少重複請求造成的外網頻寬消耗,將大部分構件快取在私服,使用者和私服的互動走區域網。

2.加速Maven構件

:如果專案配置了很多外部遠端倉庫的時候,構建速度就會大大降低,因為外網下載速度很慢。

3.部署第三方構件:有些構件無法從外部倉庫獲得的時候,可以把這些構件部署到內部倉庫(私服)中,供內部maven專案使用。

4.提高穩定性:避免當外網不穩定的時候,maven構建也變的不穩定的情況。

5.增強控制:在公司內部可以訪問私服可以通過配置使用者名稱和密碼來增強許可權控制。

5.降低中央倉庫的負荷:maven中央倉庫被請求的數量是巨大的,配置私服也可以大大降低中央倉庫的壓力

待續。。。