【第六篇】- Maven 倉庫之Spring Cloud直播商城 b2b2c電子商務技術總結

JIAN2發表於2021-09-07

Maven 倉庫

在 Maven 的術語中,倉庫是一個位置(place)。

Maven 倉庫是專案中依賴的第三方庫,這個庫所在的位置叫做倉庫。

在 Maven 中,任何一個依賴、外掛或者專案構建的輸出,都可以稱之為構件。

Maven 倉庫能幫助我們管理構件(主要是JAR),它就是放置所有JAR檔案(WAR,ZIP,POM等等)的地方。

Maven 倉庫有三種型別:

  • 本地(local)
  • 中央(central)
  • 遠端(remote)

本地倉庫

Maven 的本地倉庫,在安裝 Maven 後並不會建立,它是在第一次執行 maven 命令的時候才被建立。

執行 Maven 的時候,Maven 所需要的任何構件都是直接從本地倉庫獲取的。如果本地倉庫沒有,它會首先嚐試從遠端倉庫下載構件至本地倉庫,然後再使用本地倉庫的構件。

預設情況下,不管Linux還是 Windows,每個使用者在自己的使用者目錄下都有一個路徑名為 .m2/respository/ 的倉庫目錄。

Maven 本地倉庫預設被建立在 %USER_HOME% 目錄下。要修改預設位置,在 %M2_HOME%\conf 目錄中的 Maven 的 settings.xml 檔案中定義另一個路徑。

< settings xmlns = " "   xmlns:xsi = " "   xsi:schemaLocation = "   " >       < localRepository > C:/MyLocalRepository </ localRepository > </ settings >

當你執行 Maven 命令,Maven 將下載依賴的檔案到你指定的路徑中。


中央倉庫

Maven 中央倉庫是由 Maven 社群提供的倉庫,其中包含了大量常用的庫。

中央倉庫包含了絕大多數流行的開源Java構件,以及原始碼、作者資訊、SCM、資訊、許可證資訊等。一般來說,簡單的Java專案依賴的構件都可以在這裡下載到。

中央倉庫的關鍵概念:

  • 這個倉庫由 Maven 社群管理。
  • 不需要配置。
  • 需要透過網路才能訪問。

要瀏覽中央倉庫的內容,maven 社群提供了一個 URL: 。使用這個倉庫,開發人員可以搜尋所有可以獲取的程式碼庫。


遠端倉庫

如果 Maven 在中央倉庫中也找不到依賴的檔案,它會停止構建過程並輸出錯誤資訊到控制檯。為避免這種情況,Maven 提供了遠端倉庫的概念,它是開發人員自己定製倉庫,包含了所需要的程式碼庫或者其他工程中用到的 jar 檔案。

舉例說明,使用下面的 pom.xml,Maven 將從遠端倉庫中下載該 pom.xml 中宣告的所依賴的(在中央倉庫中獲取不到的)檔案。

< project xmlns = " "   xmlns:xsi = " "   xsi:schemaLocation = "   " >   < modelVersion > 4.0.0 </ modelVersion >   < groupId > com.companyname.projectgroup </ groupId >   < artifactId > project </ artifactId >   < version > 1.0 </ version >   < dependencies >       < dependency >         < groupId > com.companyname.common-lib </ groupId >         < artifactId > common-lib </ artifactId >         < version > 1.0.0 </ version >       </ dependency >   < dependencies >   < repositories >       < repository >         < id > companyname.lib1 </ id >         < url > </ url >       </ repository >       < repository >         < id > companyname.lib2 </ id >         < url > </ url >       </ repository >   </ repositories > </ project >

Maven 依賴搜尋順序

當我們執行 Maven 構建命令時,Maven 開始按照以下順序查詢依賴的庫:

  • 步驟 1 - 在本地倉庫中搜尋,如果找不到,執行步驟 2,如果找到了則執行其他操作。
  • 步驟 2 - 在中央倉庫中搜尋,如果找不到,並且有一個或多個遠端倉庫已經設定,則執行步驟 4,如果找到了則下載到本地倉庫中以備將來引用。
  • 步驟 3 - 如果遠端倉庫沒有被設定,Maven 將簡單的停滯處理並丟擲錯誤(無法找到依賴的檔案)。
  • 步驟 4 - 在一個或多個遠端倉庫中搜尋依賴的檔案,如果找到則下載到本地倉庫以備將來引用,否則 Maven 將停止處理並丟擲錯誤(無法找到依賴的檔案)。

Maven 阿里雲(Aliyun)倉庫

Maven 倉庫預設在國外, 國內使用難免很慢,我們可以更換為阿里雲的倉庫。

修改 maven 根目錄下的 conf 資料夾中的 settings.xml 檔案,在 mirrors 節點上,新增內容如下:

< mirrors >     < mirror >       < id > alimaven </ id >       < name > aliyun maven </ name >       < url > </ url >       < mirrorOf > central </ mirrorOf >             </ mirror > </ mirrors >

【第六篇】- Maven 倉庫之Spring Cloud直播商城 b2b2c電子商務技術總結

第二步: pom.xml檔案裡新增:

< repositories >           < repository >               < id > alimaven </ id >               < name > aliyun maven </ name >               < url > </ url >               < releases >                   < enabled > true </ enabled >               </ releases >               < snapshots >                   < enabled > false </ enabled >               </ snapshots >           </ repository >   </ repositories >


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70006413/viewspace-2790894/,如需轉載,請註明出處,否則將追究法律責任。

相關文章