中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Maven倉庫分類的優先級是什么

發布時間:2023-05-06 16:28:04 來源:億速云 閱讀:232 作者:iii 欄目:開發技術

這篇文章主要介紹了Maven倉庫分類的優先級是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Maven倉庫分類的優先級是什么文章都會有所收獲,下面我們一起來看看吧。

1.倉庫的分類

maven的倉庫主要是用于存儲及管理項目中所依賴的組件。可分為本地倉庫遠程倉庫,遠程倉庫有可以細分為中央倉庫私有倉庫,中央倉庫主要是由maven的開發團隊負責開發管理的一些公共組件的公用的倉庫;私有倉庫主要是指個人通過一些第三方平臺搭建的自己的專屬倉庫;私有倉庫又可以根據配置的位置不同可分為全局profile倉庫項目profile倉庫項目倉庫鏡像倉庫

Maven倉庫分類的優先級是什么

本地倉庫:本地倉庫默認是在.m2文件夾中,可以通過settings.xml文件的標簽來指定本地倉庫的目錄。

<localRepository>D:\Work\Maven\repositoryNexus</localRepository>

全局profile倉庫:通過 settings.xml 中的 profiles.profile.repositories.repository 配置,對所有使用該maven的項目都生效。

  <profiles>
   <profile>
   	<id>dev</id>
    <repositories>
      <repository>
        <id>nexus-repo</id>
        <name>nexus-repo</name>
        <url>http://127.0.0.1:8081/repository/maven-public/</url>
        <layout>default</layout>
		<releases><enabled>true</enabled></releases>
        <snapshots><enabled>true</enabled></snapshots>
      </repository>
    </repositories>
  </profile>
  </profiles>
  <!--激活profile-->
  <activeProfiles>
    <activeProfile>dev</activeProfile>
  </activeProfiles>

項目profile倉庫:通過項目的pom.xml 中的 profiles.profile.repositories.repository 配置,僅對該maven的項目都生效。

 <profiles>
   <profile>
   	<id>dev</id>
    <repositories>
      <repository>
        <id>nexus-repo</id>
        <name>nexus-repo</name>
        <url>http://127.0.0.1:8081/repository/maven-public/</url>
        <layout>default</layout>
		<releases><enabled>true</enabled></releases>
        <snapshots><enabled>true</enabled></snapshots>
      </repository>
    </repositories>
    <!--激活profile-->
    <activation>
		<activeByDefault>true</activeByDefault>
	</activation>
  </profile>
  </profiles>

項目倉庫:通過項目的pom.xml 中的 repositories.repository 配置,僅對該maven的項目都生效。

<repositories>
	<repository>
		<id>snapshots</id>
		<name>snapshots-repo</name>
		<url>http://127.0.0.1:8081/repository/maven-snapshots/</url>
		<layout>default</layout>
		<snapshots>
			<enabled>true</enabled>
			<updatePolicy>always</updatePolicy>
			<checksumPolicy>warn</checksumPolicy>
		</snapshots>
		<releases>
			<enabled>false</enabled>
			<updatePolicy>always</updatePolicy>
			<checksumPolicy>warn</checksumPolicy>
		</releases>
	</repository>
</repositories>

鏡像倉庫:通過 settings.xml 中的 mirrors.mirror 配置。主要提供一個方便切換遠程倉庫地址的途徑。

<mirror>
  <id>nexus-aliyun</id>
  <name>Nexus aliyun</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  <mirrorOf>central</mirrorOf>
</mirror>

中央倉庫:是maven默認的遠程倉庫,在maven的lib安裝目錄中有一個maven-model-builder-3.0.4.jar,在這個jar包中有個org/apache/maven/model/pom-4.0.0.xml文件,在這個pom文件中就配置了中央倉庫,默認的中央倉庫的id為central

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

2.倉庫的優先級

maven構建的時候,先從本地倉庫去尋找組件,本地倉庫找不到再去遠程倉庫中尋找,所以本地倉庫的優先級要高于遠程倉庫。

要點:
(1)當配置多個repository時,無論是配置在settings.xml文件還是pom.xml文件中,依次從這些倉庫中查找,如果第一個倉庫能找到,就用第一個倉庫,如果找不到,就依次往下找。
(2)當同時配置了多個repository和mirror時,如果當中某個repository的id與mirror的mirrorOf的內容相同時,則表示這個倉庫被鏡像了,將不在從該repository對應的url地址下載組件,而是直接從mirror中的url地址去下載組件。如果repository中的id都沒有與mirror的mirrorOf的內容相同時,則依次從這些repository和mirror對應的url地址去查找,直到找到為止。
(3)當mirrorOf的內容為*時,則表示該鏡像可以是所有倉庫的鏡像,無論配置了多少個倉庫,都不會從這些倉庫對應的url地址去下載組件,只會從這個mirror中的url地址去下載組件。

關于“Maven倉庫分類的優先級是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Maven倉庫分類的優先級是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉溪市| 鄂州市| 休宁县| 瑞昌市| 邛崃市| 四平市| 颍上县| 漠河县| 泉州市| 松原市| 张掖市| 伊春市| 拜泉县| 曲靖市| 泰安市| 新乐市| 徐水县| 桐柏县| 喀什市| 神农架林区| 旅游| 台州市| 洛扎县| 涿鹿县| 资中县| 略阳县| 正蓝旗| 靖江市| 社旗县| 平顶山市| 六枝特区| 从江县| 大竹县| 稻城县| 韶山市| 奉化市| 宝应县| 张家川| 油尖旺区| 娱乐| 江北区|