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