最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

maven倉(cāng)庫(kù)repositories和mirrors的配置及區(qū)別詳解

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

maven倉(cāng)庫(kù)配置

倉(cāng)庫(kù)優(yōu)先級(jí)為:本地倉(cāng)庫(kù)(localRepositories) > profile中的repositories倉(cāng)庫(kù) > POM > mirrors全局倉(cāng)庫(kù)

通過(guò)mirror配置

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

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

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

可以看到,配置了上面的mirror后,maven是從aliyun倉(cāng)庫(kù)下載的jar包,不配置的時(shí)候,默認(rèn)從apache的maven中央倉(cāng)庫(kù)下載的jar包。

上面提到,<mirrorOf></mirrorOf>的設(shè)置很重要,比如上面我設(shè)置的mirrorOf為<mirrorOf>central</mirrorOf>,如果<mirrorOf></mirrorOf>我隨便設(shè)置一個(gè)參數(shù),如<mirrorOf>abc</mirrorOf>,這時(shí)候我們配置的倉(cāng)庫(kù)就不起作用了,這是因?yàn)閙aven默認(rèn)內(nèi)置了如下一個(gè)倉(cāng)庫(kù),這個(gè)默認(rèn)倉(cāng)庫(kù)的id為central,當(dāng)我們把mirrorOf設(shè)置為<mirrorOf>central</mirrorOf>時(shí),maven就會(huì)查找有沒(méi)有id為central的倉(cāng)庫(kù),然后把id為central的倉(cāng)庫(kù)地址換成我們<mirror>標(biāo)簽配置的那個(gè)url,這樣我們配置的mirror才會(huì)起作用。當(dāng)然我們也可以把mirrorOf設(shè)置為<mirrorOf>*</mirrorOf>,表示所有倉(cāng)庫(kù)都使用我們配置的這個(gè)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>

通過(guò)<repositories>配置

通過(guò)setting.xml方式配置會(huì)對(duì)所有maven項(xiàng)目生效,如果只想在本項(xiàng)目中配置一個(gè)maven倉(cāng)庫(kù),可以通過(guò)在pom.xml中配置<repositories>標(biāo)簽來(lái)實(shí)現(xiàn)。在自己的maven項(xiàng)目的pom.xml中添加如下配置,就配置好了一個(gè)倉(cāng)庫(kù)。這時(shí)候,maven會(huì)優(yōu)先采用這個(gè)配置,而不會(huì)去讀setting.xml中的配置了。這樣配置好后,maven就會(huì)自動(dòng)從aliyun下載jar包了。

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

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

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

可以看下面一個(gè)例子,本來(lái)我們的abc-releases這個(gè)倉(cāng)庫(kù)是不可用的,因?yàn)楦揪蜎](méi)有https://abc.def.com/repository/public/這個(gè)倉(cāng)庫(kù),但是我們通過(guò)mirror配置,改變了id為abc-releases這個(gè)倉(cāng)庫(kù)的url,從而使用maven也可以從id為abc-releases這個(gè)倉(cāng)庫(kù)下載jar包了。當(dāng)然這樣配置也沒(méi)只啥意義,只是為了方便理解repository和mirror之間的關(guān)系。

maven倉(cāng)庫(kù)配置的其他選項(xiàng)

<!--releases和snapshots中有個(gè)enabled屬性,是個(gè)boolean值,默認(rèn)為true,
表示是否需要從這個(gè)遠(yuǎn)程倉(cāng)庫(kù)中下載穩(wěn)定版本或者快照版本的構(gòu)建,
一般使用第三方的倉(cāng)庫(kù),都是下載穩(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默認(rèn)的內(nèi)置倉(cāng)庫(kù)的配置位置

<!--
可以從以下文件中找到maven倉(cāng)庫(kù)的默認(rèn)配置如下
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倉(cāng)庫(kù)repositories和mirrors的配置及區(qū)別詳解的文章就介紹到這了,更多相關(guān)maven倉(cāng)庫(kù)repositories和mirrors配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot整個(gè)啟動(dòng)過(guò)程的分析

    SpringBoot整個(gè)啟動(dòng)過(guò)程的分析

    今天小編就為大家分享一篇關(guān)于SpringBoot整個(gè)啟動(dòng)過(guò)程的分析,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • Java中的幾種關(guān)鍵字的使用小結(jié)

    Java中的幾種關(guān)鍵字的使用小結(jié)

    本文主要介紹了Java中的幾種關(guān)鍵字的使用小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • springboot整合rabbitmq的示例代碼

    springboot整合rabbitmq的示例代碼

    本篇文章主要介紹了springboot整合rabbitmq的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • java如何消除太多的if else判斷示例代碼

    java如何消除太多的if else判斷示例代碼

    這篇文章主要介紹了java如何消除太多的if else判斷,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • SpringBoot如何讀取application.properties配置文件

    SpringBoot如何讀取application.properties配置文件

    這篇文章主要介紹了SpringBoot如何讀取application.properties配置文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java Kafka分區(qū)發(fā)送及消費(fèi)實(shí)戰(zhàn)

    Java Kafka分區(qū)發(fā)送及消費(fèi)實(shí)戰(zhàn)

    本文主要介紹了Kafka分區(qū)發(fā)送及消費(fèi)實(shí)戰(zhàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 聊聊springboot中整合log4g2的問(wèn)題

    聊聊springboot中整合log4g2的問(wèn)題

    這篇文章主要介紹了springboot中整合log4g2的方法,自定義文件名需要在application.yml中配置,在config中配置log4g2.xml文件,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-11-11
  • Spring項(xiàng)目接入DeepSeek的兩種超簡(jiǎn)單的方式分享

    Spring項(xiàng)目接入DeepSeek的兩種超簡(jiǎn)單的方式分享

    DeepSeek?作為一款卓越的國(guó)產(chǎn)?AI?模型,越來(lái)越多的公司考慮在自己的應(yīng)用中集成,本文為大家?分享了Spring項(xiàng)目接入DeepSeek的兩種超簡(jiǎn)單的方式,希望對(duì)大家有所幫助
    2025-02-02
  • 快速校驗(yàn)實(shí)體類時(shí),@Valid,@Validated,@NotNull注解無(wú)效的解決

    快速校驗(yàn)實(shí)體類時(shí),@Valid,@Validated,@NotNull注解無(wú)效的解決

    這篇文章主要介紹了快速校驗(yàn)實(shí)體類時(shí),@Valid,@Validated,@NotNull注解無(wú)效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java中System.currentTimeMillis()計(jì)算方式與時(shí)間單位轉(zhuǎn)換講解

    Java中System.currentTimeMillis()計(jì)算方式與時(shí)間單位轉(zhuǎn)換講解

    本文詳細(xì)講解了Java中System.currentTimeMillis()計(jì)算方式與時(shí)間單位轉(zhuǎn)換,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12

最新評(píng)論

桦川县| 同德县| 辽阳县| 岑巩县| 民勤县| 丘北县| 昭通市| 宜州市| 张掖市| 金湖县| 定兴县| 将乐县| 呼伦贝尔市| 崇左市| 城固县| 自贡市| 石家庄市| 越西县| 鸡西市| 聂拉木县| 泰顺县| 汝城县| 清水河县| 遂平县| 嘉义县| 苍山县| 白朗县| 肇东市| 怀远县| 北海市| 潞西市| 日喀则市| 克拉玛依市| 那曲县| 甘泉县| 清涧县| 锦州市| 章丘市| 原阳县| 天峨县| 蕉岭县|