倉庫詳解
Maven 採用引用的方式將jar包引入專案,但不是真是的拷貝,在打包執行是將專案用到的jar包拷貝到安裝包中。
- 如何尋找依賴的jar包?
maven官方為我們提供了一個站點,這個站點中存放了很多第三方常用的構件(jar、war、zip、pom等等),當我們需要使用這些構件時,只需將其座標加入到pom.xml中,此時maven會自動將這些構件下載到本地一個目錄,然後進行自動引用。
- 站點是中央倉庫,本地目錄是本地倉庫,預設先檢索本地倉庫的jar,若沒有在從中央倉庫中尋找,再下載到本地倉庫。如果都沒有就報錯提示。
- 名詞解釋:
①構件:Maven中的任何一個依賴,外掛或者專案構件的輸出都稱之為構件
②倉庫:指一個位置,用於存放第三方構建,所有maven都可以共享這個倉庫中的構件。
- 倉庫的分類:本地倉庫,遠端倉庫(中央倉庫,私服,其他公共遠端倉庫)
本地倉庫:
預設情況下,maven本地倉庫預設地址是~/.m2/respository目錄,這個預設我們也可以在~/.m2/settings.xml檔案中進行修改:
<localRepository>本地倉庫地址</localRepository>
中央倉庫
有幾個特點:
l 中央倉庫是由maven官方社群提供給大家使用的
l 不需要我們手動去配置,maven內部整合好了
l 使用中央倉庫時,機器必須是聯網狀態,需要可以訪問中央倉庫的地址
中央倉庫還為我們提供了一個檢索構件的站點: https://search.maven.org/
私服
在公司內部區域網內部可以架設一臺伺服器,這臺伺服器起到一個代理的作用,公司裡面的所有開發者去訪問這個伺服器,這臺伺服器將需要的構件返回給我們,如果這臺伺服器中也沒有我們需要的構件,那麼這個代理伺服器會去遠端倉庫中查詢,然後將其先下載到代理伺服器中,然後再返回給開發者本地的倉庫。
私服有以下好處:
l 加速maven構件的下載速度
l 節省寬頻
l 方便部署自己的構件以供他人使用
l 提高maven的穩定性,中央倉庫需要本機能夠訪問外網,而如果採用私服的方式,只需要本機可以訪問內網私服就可以了
其他遠端倉庫
國內一些大的網際網路公司將自己的maven倉庫伺服器公開給其他開發者使用,國內訪問速度提升不少。