Maven倉(cāng)庫(kù)加載順序的實(shí)例解析
Maven倉(cāng)庫(kù)一般分為本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)。遠(yuǎn)程倉(cāng)庫(kù)又分為私服、中央倉(cāng)庫(kù)、中央倉(cāng)庫(kù)的鏡像倉(cāng)庫(kù)。
本地倉(cāng)庫(kù)就是本地維護(hù)的maven倉(cāng)庫(kù),僅為本機(jī)項(xiàng)目提供服務(wù)。
私服一般是公司或組織在局域網(wǎng)級(jí)別搭建的maven倉(cāng)庫(kù),服務(wù)范圍是公司或組織局域網(wǎng)內(nèi)的成員。
鏡像倉(cāng)庫(kù),這里指的是maven中央倉(cāng)庫(kù)的鏡像倉(cāng)庫(kù)。分布在全球各個(gè)地方,是maven中央倉(cāng)庫(kù)的鏡像備份。鏡像倉(cāng)庫(kù)的作用一是分?jǐn)傊醒雮}(cāng)庫(kù)的訪問(wèn)壓力,第二就是可以提升我們下載依賴的速度。常用的鏡像倉(cāng)庫(kù)有阿里云鏡像倉(cāng)庫(kù)等等。
那么在實(shí)際開(kāi)發(fā)中,在配置了多個(gè)倉(cāng)庫(kù)的情況下,他們之間的加載訪問(wèn)順序是怎么樣的呢?
本地倉(cāng)庫(kù) 》 私服 》 鏡像倉(cāng)庫(kù)
可以通過(guò)配置來(lái)驗(yàn)證一下:
pom.xml配置倉(cāng)庫(kù):
<repositories> <repository> <id>local-nexus</id> <url>http://xxx.xxx.xxx.135:8081/nexus/repository/maven-group-snapshots/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>ali-maven</id> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories>
setting.xml配置倉(cāng)庫(kù):
<!-- 這里配置的阿里云的鏡像倉(cāng)庫(kù)來(lái)替代maven中央倉(cāng)庫(kù) --> <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
compile一下:
... //優(yōu)先加載本地倉(cāng)庫(kù) [DEBUG] Using local repository at D:\programs\apache-maven-3.6.1-bin\notify_repo [DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10.0 for D:\programs\apache-maven-3.6.1-bin\notify_repo [INFO] Scanning for projects... //這里使用setting.xml配置的阿里云中央倉(cāng)庫(kù)代替maven中央倉(cāng)庫(kù) [DEBUG] Using mirror alimaven (http://maven.aliyun.com/nexus/content/groups/public/) for central (https://repo.maven.apache.org/maven2). ...
... //可以看到這是遠(yuǎn)程倉(cāng)庫(kù)加載的順序,先是加載pom.xml配置的135私服,然后是ali-maven,最后才是setting.xml中的alimavn,在pom.xml中,可以通過(guò)調(diào)整<repository>的順序來(lái)調(diào)整私服的加載順序 [DEBUG] Repositories (dependencies): [local-nexus (http://xxx.xxx.xxx.135:8081/nexus/repository/maven-group-snapshots/, default, releases+snapshots), ali-maven (http://maven.aliyun.com/nexus/content/groups/public/, default, releases+snapshots), alimaven (http://maven.aliyun.com/nexus/content/groups/public/, default, releases)] ...
這里說(shuō)的、以及setting.xml中的并不能代表實(shí)際中出現(xiàn)的所有配置,具體加載順序還是得看具體的項(xiàng)目和maven配置,這些都不是重點(diǎn),重點(diǎn)是可以通過(guò)日志來(lái)知道實(shí)際是什么情況的。
最后,如何在idea中開(kāi)啟maven的debug級(jí)別日志:
到此這篇關(guān)于Maven倉(cāng)庫(kù)加載順序的實(shí)例解析的文章就介紹到這了,更多相關(guān)Maven倉(cāng)庫(kù)加載順序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java中ArrayList與LinkedList對(duì)比詳情
這篇文章主要通過(guò)實(shí)例對(duì)Java中ArrayList與LinkedList進(jìn)行了對(duì)比,需要的朋友可以參考下2017-04-04Spring AOP的幾種實(shí)現(xiàn)方式總結(jié)
本篇文章主要介紹了Spring AOP的幾種實(shí)現(xiàn)方式總結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02Java數(shù)據(jù)類型Integer與int的區(qū)別詳細(xì)解析
這篇文章主要介紹了Java數(shù)據(jù)類型Integer與int的區(qū)別詳細(xì)解析,Ingeter是int的包裝類,int的初值為0,Ingeter的初值為null,int和integer(無(wú)論new否)比,都為true,因?yàn)闀?huì)把Integer自動(dòng)拆箱為int再去比,需要的朋友可以參考下2023-12-12如何使用Comparator比較接口實(shí)現(xiàn)ArrayList集合排序
這篇文章主要介紹了如何使用Comparator比較接口實(shí)現(xiàn)ArrayList集合排序問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12java通過(guò)AES生成公鑰加密數(shù)據(jù)ECC加密公鑰
這篇文章主要為大家介紹了java通過(guò)AES生成公鑰加密數(shù)據(jù)ECC加密公鑰實(shí)現(xiàn)案例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12JAVA線程池監(jiān)控以及動(dòng)態(tài)調(diào)整示例詳解
這篇文章主要為大家介紹了JAVA線程池監(jiān)控以及動(dòng)態(tài)調(diào)整示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09