[117]maven拉取jar包流程解析

背景

部署本地開發(fā)環(huán)境的時(shí)候,我們需要配置maven settings.xml 以便從遠(yuǎn)程倉庫中拉取代碼。

下載jar包的順序

根據(jù)網(wǎng)絡(luò)請求的便利性,請求的路徑一般是 本地倉庫 -> 私有倉庫(私有網(wǎng)絡(luò))->中央倉庫(由于中央倉庫可能在國外我們可能需要配置鏡像)。
我們執(zhí)行mvn install 的時(shí)候會(huì)先本地找jar包,如果找不到就去私有倉庫,如果還找不到就去中央倉庫拉取代碼。(當(dāng)然如果你如果連不上私有倉庫網(wǎng)絡(luò)此時(shí)可以把私有倉庫注釋掉加快下載速度)。

私有倉庫

基本上每個(gè)公司都會(huì)有自己的私有倉庫 。私有倉庫在settings.xml文件中對(duì)應(yīng)的標(biāo)簽為<repository></repository>,其具體代碼如下:

<profile>
            <id>fxiaoke</id>
            <repositories>
                <repository>
                    <id>release</id>
                    <name>XXX repo</name>
                    <layout>default</layout>
                    <url>http://maven.firstshare.cn/artifactory/libs-release</url>
                    <releases>
                      <enabled>true</enabled>
                      <updatePolicy>always</updatePolicy>
                      <checksumPolicy>fail</checksumPolicy>
                    </releases>
                    <snapshots>
                      <enabled>true</enabled>
                      <updatePolicy>always</updatePolicy>
                      <checksumPolicy>fail</checksumPolicy>
                    </snapshots>
                </repository>
            </repositories>

關(guān)于中央倉庫

maven 中我們通過pom.xml 定義其依賴的jar包及其其他屬性,如果我們有多個(gè)項(xiàng)目且項(xiàng)目的配置有很多相似的地方,此時(shí)沒有必要在每個(gè)pom.xml 寫一遍。我們通過繼承機(jī)制來實(shí)現(xiàn),只需要在父pom.xml中定義好屬性子pom繼承即可。

而中央倉庫地址(maven 官方存放地址)就定義在超級(jí)pom.xml 文件中,超級(jí)pom文件比如pom-4.0.0.xml(maven2 為該文件)一般存放在\org\apache\maven\mode目錄中。
其內(nèi)容大致為:

<project>
  <modelVersion>4.0.0</modelVersion>

  <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>

  <pluginRepositories>
    <pluginRepository>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
    </pluginRepository>
  </pluginRepositories>

  <build>
  ......
  </build>

  <reporting>
    <outputDirectory>${project.build.directory}/site</outputDirectory>
  </reporting>

  <profiles>
    <!-- NOTE: The release profile will be removed from future versions of the super POM -->
    <profile>
      <id>release-profile</id>
        ......
    </profile>
  </profiles>
</project>

參考

至于具體項(xiàng)目中其結(jié)構(gòu)如何處理的請參考:https://www.cnblogs.com/wkrbky/p/6353285.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • |-1-更新內(nèi)容[6.從倉庫解析依賴的機(jī)制(重要)] 1Maven倉庫作用 倉庫用來存儲(chǔ)所有項(xiàng)目使用到構(gòu)件,在ma...
    zlcook閱讀 6,453評(píng)論 0 25
  • 簡介 概述 Maven 是一個(gè)項(xiàng)目管理和整合工具 Maven 為開發(fā)者提供了一套完整的構(gòu)建生命周期框架 Maven...
    閩越布衣閱讀 4,513評(píng)論 6 39
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,261評(píng)論 6 342
  • 第一次遇到她是在我最喜歡的那間藏書室。 當(dāng)時(shí)她隱約出現(xiàn)在幾個(gè)書架外的書叢中,我假裝不在意,其實(shí)我卻在書架的縫隙里偷...
    是野貍貓嗎閱讀 416評(píng)論 6 1
  • 斜風(fēng)細(xì)雨絲一般纏繞在心口 眼睛也跟著濕潤了 心緒像斷的弦 密封的瓶口撕裂開 塵封的魔像蟻蟲攀爬著軀體 隱隱地如同蝕...
    蓮花墨閱讀 502評(píng)論 28 62

友情鏈接更多精彩內(nèi)容