1. 程式人生 > 其它 >倉庫詳解

倉庫詳解

Maven 採用引用的方式將jar包引入專案,但不是真是的拷貝,在打包執行是將專案用到的jar包拷貝到安裝包中。

  1. 如何尋找依賴的jar包?

maven官方為我們提供了一個站點,這個站點中存放了很多第三方常用的構件(jar、war、zip、pom等等),當我們需要使用這些構件時,只需將其座標加入到pom.xml中,此時maven會自動將這些構件下載到本地一個目錄,然後進行自動引用。

  1. 站點是中央倉庫,本地目錄是本地倉庫,預設先檢索本地倉庫的jar,若沒有在從中央倉庫中尋找,再下載到本地倉庫。如果都沒有就報錯提示。
  2. 名詞解釋:

①構件:Maven中的任何一個依賴,外掛或者專案構件的輸出都稱之為構件

②倉庫:指一個位置,用於存放第三方構建,所有maven都可以共享這個倉庫中的構件。

  1. 倉庫的分類:本地倉庫,遠端倉庫(中央倉庫,私服,其他公共遠端倉庫)

本地倉庫

預設情況下,maven本地倉庫預設地址是~/.m2/respository目錄,這個預設我們也可以在~/.m2/settings.xml檔案中進行修改:

<localRepository>本地倉庫地址</localRepository>

中央倉庫

有幾個特點:

l  中央倉庫是由maven官方社群提供給大家使用的

l  不需要我們手動去配置,maven內部整合好了

l  使用中央倉庫時,機器必須是聯網狀態,需要可以訪問中央倉庫的地址

中央倉庫還為我們提供了一個檢索構件的站點: https://search.maven.org/

 

私服

在公司內部區域網內部可以架設一臺伺服器,這臺伺服器起到一個代理的作用,公司裡面的所有開發者去訪問這個伺服器,這臺伺服器將需要的構件返回給我們,如果這臺伺服器中也沒有我們需要的構件,那麼這個代理伺服器會去遠端倉庫中查詢,然後將其先下載到代理伺服器中,然後再返回給開發者本地的倉庫。

私服有以下好處:

l  加速maven構件的下載速度

l  節省寬頻

l  方便部署自己的構件以供他人使用

l  提高maven的穩定性,中央倉庫需要本機能夠訪問外網,而如果採用私服的方式,只需要本機可以訪問內網私服就可以了

 

其他遠端倉庫

國內一些大的網際網路公司將自己的maven倉庫伺服器公開給其他開發者使用,國內訪問速度提升不少。