1. 程式人生 > 程式設計 >Maven之遠端倉庫的配置詳解

Maven之遠端倉庫的配置詳解

在很多情況下,預設的中央倉庫無法滿足專案的需求,可能專案需要的構件存在於另外一個遠端倉庫中,如Company Maven倉庫。這時,可以在專案POM中或maven的settings.xml中配置該倉庫

<repositories>
  <repository>
    <id>company</id>
    <name>Company Repository</name>
    <url>http://repository.company.com/maven2/</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
    <layout>default</layout>
  </repository>
</repositories>

  在repositories元素下,可以使用repository子元素宣告一個或者多個遠端倉庫。該例中聲明瞭一個id為company,名稱為Company Repository的倉庫。任何一個倉庫宣告的id必須是唯一的,尤其需要注意的是,Maven自帶的中央倉庫使用的id為central,如果其他的倉庫宣告也使用該id,就會覆蓋中央倉庫的配置。該配置中的url值指向了倉庫的地址,一般來說,該地址都基於http協議,Maven使用者都可以在瀏覽器中開啟倉庫地址瀏覽構件。

該例配置中的releases和snapshots元素比較重要,它們用來控制Maven對於釋出版構件和快照版構件的下載。

這裡需要注意的是enabled子元素,該例中releases的enabled值為true,表示開啟Company倉庫的釋出版本下載支援,而snapshots的enabled值為false,表示關閉Company倉庫的快照版本的下載支援。因此,根據該配置,Maven只會從Company倉庫下載釋出版的構件,而不會下載快照版的構件。該例中的layout元素值default表示倉庫的佈局是Maven 2及Maven 3的預設佈局,而不是Maven 1的佈局。

  對於releases和snapshots來說,除了enabled,它們還包含另外兩個子元素updatePolicy和checksumPolicy:

<snapshots>
  <enabled>true</enabled>
  <updatePolicy>daily</updatePolicy>
  <checksumPolicy>ignore</checksumPolicy>
</snapshots>

  元素updatePolicy用來配置Maven從遠端倉庫檢查更新的頻率,預設的值是daily,表示Maven每天檢查一次。其他可用的值包括:never——從不檢查更新;always——每次構建都檢查更新;in-terval:X——每隔X分鐘檢查一次更新(X為任意整數)。

元素checksumPolicy用來配置Maven檢查檢驗和檔案的策略。當構件被部署到Maven倉庫中時,會同時部署對應的校驗和檔案。在下載構件的時候,Maven會驗證校驗和檔案,如果校驗和驗證失敗,怎麼辦?當checksumPolicy的值為預設的warn時,Maven會在執行構建時輸出警告資訊,其他可用的值包括:fail——Maven遇到校驗和錯誤就讓構建失敗;ignore——使Maven完全忽略校驗和錯誤。

到此這篇關於Maven之遠端倉庫的配置詳解的文章就介紹到這了,更多相關Maven 遠端倉庫內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!