maven倉庫訪問順序小結(jié)
1.沒有配置私服的情況下(大部分情況下)

如上圖所示,maven是依次從本地倉庫、中央倉庫和第三方倉庫獲取依賴的,其實(shí)在maven中并不是以這三種類型區(qū)分的,在maven中只有兩種倉庫類型,本地倉庫和遠(yuǎn)程倉庫,我圖中的中央倉庫和第三方倉庫都屬于遠(yuǎn)程倉庫,這里只是細(xì)化了。
- 首先當(dāng)構(gòu)建項(xiàng)目時(shí),如果缺少依賴項(xiàng),maven會(huì)從配置的本地倉庫中尋找該依賴
- 當(dāng)本地倉庫不存在時(shí),maven會(huì)去中央倉庫尋找該依賴,一般地,我們國內(nèi)用戶都會(huì)在安裝maven時(shí)在setting.xml中添加中央倉庫的鏡像以加快速度,所以如果你對中央倉庫配置了aliyun的鏡像地址,那么到這一步時(shí)maven會(huì)去鏡像地址查找該依賴
- 如果你的項(xiàng)目中有些依賴在中央倉庫不存在,那么就代表中央倉庫也無法找到,這時(shí)maven會(huì)去通過pom.xml文件中定義的遠(yuǎn)程倉庫依次訪問查找依賴,直到遇到第一個(gè)查找到的依賴即停止查找并下載依賴到本地倉庫
- 如果遍歷完遠(yuǎn)程倉庫仍然未找到,maven則報(bào)錯(cuò)
tips:我不建議在配置aliyun鏡像的時(shí)候設(shè)置通配符去代替所有遠(yuǎn)程倉庫,就像這樣
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>*</mirrorOf> </mirror>
這樣寫就代表該配置是所有maven倉庫的鏡像,任何對于遠(yuǎn)程倉庫的請求都會(huì)被轉(zhuǎn)到該地址,但是aliyun只是中央倉庫的鏡像,所以如果你這樣寫就會(huì)導(dǎo)致依賴永遠(yuǎn)拉取不下來(如果該依賴是中央倉庫沒有的),還是建議規(guī)范一些,mirrorOf設(shè)置為central
2.配置私服的情況下

- 首先當(dāng)構(gòu)建項(xiàng)目時(shí),如果缺少依賴項(xiàng),maven會(huì)從配置的本地倉庫中尋找該依賴
- 如果本地倉庫不存在需要的依賴,maven會(huì)去配置的私服中查找依賴并下載到本地倉庫
- 如果私服也沒有找到,私服會(huì)向它配置的其他遠(yuǎn)程倉庫發(fā)送請求,例如中央倉庫或其他遠(yuǎn)程倉庫等,如果找到依賴則緩存到私服中并提供該依賴
- 最終,如果所需的構(gòu)件在私服上配置的任何遠(yuǎn)程倉庫中都無法找到,則Maven將報(bào)告構(gòu)建失敗。
tips:這里所說的私服也是一種特殊的遠(yuǎn)程倉庫,也就是說,對于maven來說,除了本地倉庫,其他的倉庫都屬于遠(yuǎn)程倉庫
到此這篇關(guān)于maven倉庫訪問順序小結(jié)的文章就介紹到這了,更多相關(guān)maven倉庫訪問順序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mybatis?collection和association的區(qū)別解析
這篇文章主要介紹了mybatis?collection解析以及和association的區(qū)別,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
配置了jdk的環(huán)境idea卻提示找不到j(luò)dk解決辦法
在使用Java編程語言進(jìn)行開發(fā)時(shí),IDEA是一個(gè)非常流行和強(qiáng)大的集成開發(fā)環(huán)境,這篇文章主要給大家介紹了關(guān)于配置了jdk的環(huán)境idea卻提示找不到j(luò)dk的解決辦法,需要的朋友可以參考下2023-12-12
Java求10到100000之間的水仙花數(shù)算法示例
這篇文章主要介紹了Java求10到100000之間的水仙花數(shù)算法,結(jié)合實(shí)例形式分析了水仙花數(shù)的概念及相應(yīng)的java算法實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-10-10
MyBatis-Plus中如何配置加密功能(使用AES算法)
本文將詳細(xì)介紹如何實(shí)現(xiàn) MyBatis-Plus 中的配置加密功能,并給出相應(yīng)的代碼示例,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
spring boot實(shí)現(xiàn)驗(yàn)證碼功能
Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。這篇文章主要介紹了spring boot實(shí)現(xiàn)驗(yàn)證碼功能,需要的朋友可以參考下2018-04-04

