欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

maven倉庫repositories和mirrors的配置及區(qū)別詳解

 更新時間:2020年07月12日 16:30:12   作者:jerry741  
這篇文章主要介紹了maven倉庫repositories和mirrors的配置及區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

maven倉庫配置

倉庫優(yōu)先級為:本地倉庫(localRepositories) > profile中的repositories倉庫 > POM > mirrors全局倉庫

通過mirror配置

如果倉庫X可以提供倉庫Y所有的內(nèi)容,那么我們就可以認為X是Y的一個鏡像,通俗點說,可以從Y獲取的構(gòu)件都可以從他的鏡像中進行獲取??梢圆捎苗R像的方式配置遠程倉庫,鏡像在settings.xml中進行配置,在setting.xml中的<mirrors>標簽下加入如下子標簽配置便配置了一個maven鏡像。

<mirror>
  <id>alimaven</id>
  <name>aliyun maven</name>
  <!--mirrorOf的配置很重要后面會詳細說明-->
  <mirrorOf>central</mirrorOf>
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

添加如上配置后,maven會讀取setting.xml中配置的mirror作為jar包的下載地址,我們以在項目中下載fastjson為例來看一下效果。

可以看到,配置了上面的mirror后,maven是從aliyun倉庫下載的jar包,不配置的時候,默認從apache的maven中央倉庫下載的jar包。

上面提到,<mirrorOf></mirrorOf>的設(shè)置很重要,比如上面我設(shè)置的mirrorOf為<mirrorOf>central</mirrorOf>,如果<mirrorOf></mirrorOf>我隨便設(shè)置一個參數(shù),如<mirrorOf>abc</mirrorOf>,這時候我們配置的倉庫就不起作用了,這是因為maven默認內(nèi)置了如下一個倉庫,這個默認倉庫的id為central,當(dāng)我們把mirrorOf設(shè)置為<mirrorOf>central</mirrorOf>時,maven就會查找有沒有id為central的倉庫,然后把id為central的倉庫地址換成我們<mirror>標簽配置的那個url,這樣我們配置的mirror才會起作用。當(dāng)然我們也可以把mirrorOf設(shè)置為<mirrorOf>*</mirrorOf>,表示所有倉庫都使用我們配置的這個mirror作為jar包下載地址。

<repositories>
  <repository>
   <id>central</id>
   <name>Central Repository</name>
   <url>https://repo.maven.apache.org/maven2</url>
   <layout>default</layout>
   <snapshots>
    <enabled>false</enabled>
   </snapshots>
  </repository>
</repositories>

通過<repositories>配置

通過setting.xml方式配置會對所有maven項目生效,如果只想在本項目中配置一個maven倉庫,可以通過在pom.xml中配置<repositories>標簽來實現(xiàn)。在自己的maven項目的pom.xml中添加如下配置,就配置好了一個倉庫。這時候,maven會優(yōu)先采用這個配置,而不會去讀setting.xml中的配置了。這樣配置好后,maven就會自動從aliyun下載jar包了。

 <repositories>
  <repository>
    <id>aliyun-releases</id>
    <name>阿里云倉庫(name可以隨便起)</name>
    <url>https://maven.aliyun.com/repository/public</url>
  </repository>
</repositories>

我們知道,repositories標簽下可以配置多個repository,如果我們配置了多個repository,maven會用哪個呢,答案是按出現(xiàn)順序使用,如果第1個可用,就用第一個,如果不可用,就依次往下找,下面的2張圖片可以說明這個問題。

上面配置<repository>時<id>似乎也沒什么用,確實是,如果你只是在pom.xml中配置個倉庫,這個id是沒什么用的,可以隨便寫,其實這個id是配合上面講的mirror一塊使用的,還記得mirrorOf嗎,我們配置mirrorOf為<mirrorOf>central</mirrorOf>是,mirror中的url就是central倉庫的url給覆蓋了,所以這里的<repository>標簽下的id是給mirrorOf用的。

可以看下面一個例子,本來我們的abc-releases這個倉庫是不可用的,因為根本就沒有https://abc.def.com/repository/public/這個倉庫,但是我們通過mirror配置,改變了id為abc-releases這個倉庫的url,從而使用maven也可以從id為abc-releases這個倉庫下載jar包了。當(dāng)然這樣配置也沒只啥意義,只是為了方便理解repository和mirror之間的關(guān)系。

maven倉庫配置的其他選項

<!--releases和snapshots中有個enabled屬性,是個boolean值,默認為true,
表示是否需要從這個遠程倉庫中下載穩(wěn)定版本或者快照版本的構(gòu)建,
一般使用第三方的倉庫,都是下載穩(wěn)定版本的構(gòu)建。-->
<repository>
  <id>aliyun-releases</id>
  <url>https://maven.aliyun.com/repository/public</url>
  <releases>
    <enabled>true</enabled>
  </releases>
  <snapshots>
    <enabled>false</enabled>
  </snapshots>
</repository>

maven默認的內(nèi)置倉庫的配置位置

<!--
可以從以下文件中找到maven倉庫的默認配置如下
apache-maven-3.6.1\lib\maven-model-builder-3.6.1.jar\org\apache\maven\model\pom-4.0.0.xml
-->
<repositories>
  <repository>
   <id>central</id>
   <name>Central Repository</name>
   <url>https://repo.maven.apache.org/maven2</url>
   <layout>default</layout>
   <snapshots>
    <enabled>false</enabled>
   </snapshots>
  </repository>
</repositories>

到此這篇關(guān)于maven倉庫repositories和mirrors的配置及區(qū)別詳解的文章就介紹到這了,更多相關(guān)maven倉庫repositories和mirrors配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深度deepin安裝以及jdk、tomcat、Nginx安裝教程

    深度deepin安裝以及jdk、tomcat、Nginx安裝教程

    這篇文章主要給大家介紹了關(guān)于深度deepin安裝以及jdk、tomcat、Nginx安裝的相關(guān)資料,按照文中介紹的方法可以輕松的實現(xiàn)安裝,對大家的工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01
  • Java8函數(shù)式接口Predicate用法示例詳解

    Java8函數(shù)式接口Predicate用法示例詳解

    這篇文章主要為大家介紹了Java8函數(shù)式接口Predicate用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • SpringBoot配置連接兩個或多個數(shù)據(jù)庫的常用方法

    SpringBoot配置連接兩個或多個數(shù)據(jù)庫的常用方法

    在Spring Boot應(yīng)用中連接多個數(shù)據(jù)庫或數(shù)據(jù)源可以使用多種方式,本文講給大家介紹兩種常用的方法:使用Spring Boot官方支持的多數(shù)據(jù)源配置和使用第三方庫實現(xiàn)多數(shù)據(jù)源,文章通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • Spring Boot啟動過程(六)之內(nèi)嵌Tomcat中StandardHost、StandardContext和StandardWrapper的啟動教程詳解

    Spring Boot啟動過程(六)之內(nèi)嵌Tomcat中StandardHost、StandardContext和Sta

    這篇文章主要介紹了Spring Boot啟動過程(六)之內(nèi)嵌Tomcat中StandardHost、StandardContext和StandardWrapper的啟動教程詳解,需要的朋友可以參考下
    2017-04-04
  • Java中解密微信加密數(shù)據(jù)工具類

    Java中解密微信加密數(shù)據(jù)工具類

    最近小編一直在開發(fā)微信公眾號、小程序項目,微信返回給我們的數(shù)據(jù)都是加密的,我們需要使用sessionkey配合解密,才能看到我們想要的數(shù)據(jù),基于代碼怎么實現(xiàn)呢,下面小編給大家?guī)砹薐ava中解密微信加密數(shù)據(jù)工具類的完整代碼,一起看看吧
    2021-06-06
  • Spring中@Async注解實現(xiàn)異步調(diào)詳解

    Spring中@Async注解實現(xiàn)異步調(diào)詳解

    在本篇文章里小編給大家分享的是關(guān)于Spring中@Async注解實現(xiàn)異步調(diào)詳解內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-04-04
  • java中的char占幾個字節(jié)實例分析

    java中的char占幾個字節(jié)實例分析

    這篇文章主要介紹了java中的char占幾個字節(jié)實例分析的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 詳細介紹Java阿里云的短信驗證碼實現(xiàn)

    詳細介紹Java阿里云的短信驗證碼實現(xiàn)

    這篇文章主要介紹了詳細介紹Java阿里云的短信驗證碼實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Spring實現(xiàn)加法計算器和用戶登錄功能

    Spring實現(xiàn)加法計算器和用戶登錄功能

    在前后端分離的Web開發(fā)模式中,接口(API)扮演著至關(guān)重要的角色,它是前后端交互的橋梁,創(chuàng)建加法計算器和用戶登錄功能時,介紹了接口測試和問題解決的一般流程,如使用Postman測試接口、查看日志、處理緩存問題等,確保開發(fā)過程中的高效協(xié)作和問題快速定位
    2024-10-10
  • jdk1.8的環(huán)境配置過程

    jdk1.8的環(huán)境配置過程

    Java平臺由Java虛擬機和Java應(yīng)用程序接口搭建,Java語言則是進入這個平臺的通道,用Java語言編寫并編譯的程序可以運行在這個平臺上,本文給大家講解jdk1.8的環(huán)境配置過程,感興趣的朋友跟隨小編一起看看吧
    2022-11-11

最新評論