maven配置多個鏡像的實現(xiàn)方法
問題場景
1、國內訪問maven默認遠程中央鏡像特別慢
2、用阿里的鏡像替代遠程中央鏡像
3、大部分jar包都可以在阿里鏡像中找到,部分jar包在阿里鏡像中沒有,需要單獨配置鏡像
解決方案
settings.xml 中可以使用變量,可以嘗試使用變量解決:
<mirrors> <!-- 阿里云倉庫 --> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> <!-- 中央倉庫1 --> <mirror> <id>repo1</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://repo1.maven.org/maven2/</url> </mirror> <!-- 中央倉庫2 --> <mirror> <id>repo2</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://repo2.maven.org/maven2/</url> </mirror> </mirrors>
在maven的配置文件setting.xml大里面有個mirrors節(jié)點,用來配置鏡像URL。mirrors可以配置多個mirror,每個mirror有id,name,url,mirrorOf屬性,
id是唯一標識一個mirror,name節(jié)點名,url是官方的庫地址,mirrorOf代表了一個鏡像的替代位置,例如central就表示代替官方的中央庫
雖然mirrors可以配置多個子節(jié)點,但是它只會使用其中的一個節(jié)點,即默認情況下配置多個mirror的情況下,只有第一個生效,只有當前一個mirror
無法連接的時候,才會去找后一個;而我們想要的效果是:當a.jar在第一個mirror中不存在的時候,maven會去第二個mirror中查詢下載,但是maven不會這樣做!
注意:
配置多個mirror時,mirrorOf不能配置" * "," * " 的意思就是(根據(jù)mirrorOf和repository的id)匹配所有的倉庫(repository),
這樣就是說如果你需要某個jar,他會從鏡像地址去下載這個jar。不管你配置了多少個庫,即使這些庫的地址不一樣,仍然會從鏡像地址訪問
到此這篇關于maven配置多個鏡像的實現(xiàn)方法的文章就介紹到這了,更多相關maven配置多個鏡像內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java利用Socket和IO流實現(xiàn)文件的上傳與下載
本文主要介紹了Java利用Socket和IO流實現(xiàn)文件的上傳與下載,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04java8 forEach結合Lambda表達式遍歷 List操作
這篇文章主要介紹了java8 forEach結合Lambda表達式遍歷 List操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09springboot異步處理@NotBlank或@NotNull注釋校驗不生效問題
這篇文章主要介紹了springboot異步處理@NotBlank或@NotNull注釋校驗不生效問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01JAVA中ListIterator和Iterator詳解與辨析(推薦)
這篇文章主要介紹了JAVA中ListIterator和Iterator詳解與辨析,需要的朋友可以參考下2017-04-04Spring-boot JMS 發(fā)送消息慢的解決方法
這篇文章主要為大家詳細介紹了Spring-boot JMS 發(fā)送消息慢的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08