日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Maven仓库详解

發(fā)布時(shí)間:2023/12/1 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Maven仓库详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載自:Maven入門指南④:倉(cāng)庫(kù)

1 . 倉(cāng)庫(kù)簡(jiǎn)介

  沒有 Maven 時(shí),項(xiàng)目用到的 .jar 文件通常需要拷貝到 /lib 目錄,項(xiàng)目多了,拷貝的文件副本就多了,占用磁盤空間,且難于管理。Maven 使用一個(gè)稱之為倉(cāng)庫(kù)的目錄,根據(jù)構(gòu)件的坐標(biāo)統(tǒng)一存儲(chǔ)這些構(gòu)件的唯一副本,在項(xiàng)目中通過依賴聲明,可以方便的引用構(gòu)件。

2 . 倉(cāng)庫(kù)的布局

  構(gòu)件都有唯一的坐標(biāo),Maven 根據(jù)坐標(biāo)管理構(gòu)件的存儲(chǔ)。如以下對(duì) spring-orm-3.2.0 的存儲(chǔ):

文件路徑對(duì)應(yīng)了:groupId/artifactId/version/artifactId-version.packaging

3 . 倉(cāng)庫(kù)的分類

  Maven 倉(cāng)庫(kù)分為本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù),尋找構(gòu)件時(shí),首先從本地倉(cāng)庫(kù)找,找不到則到遠(yuǎn)程倉(cāng)庫(kù)找,再找不到就報(bào)錯(cuò);在遠(yuǎn)程倉(cāng)庫(kù)中找到了,就下載到本地倉(cāng)庫(kù)再使用。中央倉(cāng)庫(kù)是 Maven 核心自帶的遠(yuǎn)程倉(cāng)庫(kù),默認(rèn)地址:http://repo1.maven.org/maven2。除了中央倉(cāng)庫(kù),還有其它很多公共的遠(yuǎn)程倉(cāng)庫(kù)。私服是架設(shè)在本機(jī)或局域網(wǎng)中的一種特殊的遠(yuǎn)程倉(cāng)庫(kù),通過私服可以方便的管理其它所有的外部遠(yuǎn)程倉(cāng)庫(kù)。

3 . 1 . 本地倉(cāng)庫(kù)

  Maven 本地倉(cāng)庫(kù)默認(rèn)地址為:${user.home}/.m2/repository。

  通過修改 %MAVEN_HOME%/conf/settings.xml (或者:${user.home}/.m2/settings.xml,針對(duì)當(dāng)前用戶(推薦))配置文件可以更改本地倉(cāng)庫(kù)的位置。

3 . 2 . 中央倉(cāng)庫(kù)

  安裝完 Maven ,本地倉(cāng)庫(kù)幾乎是空的,這時(shí)需要從遠(yuǎn)程倉(cāng)庫(kù)下載所需構(gòu)件。Maven 配置了一個(gè)默認(rèn)的遠(yuǎn)程倉(cāng)庫(kù),即中央倉(cāng)庫(kù),找到 %MAVEN_HOME%/lib/maven-model-builder-3.2.1.jar,打開?org/apache/maven/model/pom-4.0.0.xml 超級(jí)POM:

3 . 3 . 在項(xiàng)目中添加其他遠(yuǎn)程倉(cāng)庫(kù)

  當(dāng)中央倉(cāng)庫(kù)找不到所需的構(gòu)件時(shí),我們可以配置 pom.xml ,添加其它的遠(yuǎn)程倉(cāng)庫(kù)。

1 <repositories> 2 <repository> 3 <id>Sonatype</id> 4 <name>Sonatype Repository</name> 5 <url>http://repository.sonatype.org/content/groups/public/</url> 6 <layout>default</layout> 7 <releases> 8 <enabled>true</enabled> 9 </releases> 10 <snapshots> 11 <enabled>false</enabled> 12 </snapshots> 13 </repository> 14 </repositories>

其中 id 必須唯一,若不唯一,如設(shè)置為 central 將覆蓋中央倉(cāng)庫(kù)的配置。

3 . 4 . 鏡像倉(cāng)庫(kù)

  鏡像倉(cāng)庫(kù)可以理解為倉(cāng)庫(kù)的副本,從倉(cāng)庫(kù)中可以找到的構(gòu)件,從鏡像倉(cāng)庫(kù)中也可以找到。比如針對(duì)中央倉(cāng)庫(kù) http://repo1.maven.org/maven2 ,在中國(guó)有它的鏡像倉(cāng)庫(kù),這樣我們直接訪問鏡像倉(cāng)庫(kù),更快更穩(wěn)定。

1 <settings> 2 ... 3 <mirrors> 4 <mirror> 5 <id>maven.net.cn</id> 6 <name>central mirror in china</name> 7 <url>http://maven.net.cn/content/groups/public</url> 8 <mirrorOf>central</mirrorOf> <!--表明為central中央倉(cāng)庫(kù)配置鏡像倉(cāng)庫(kù)--> 9 </mirror> 10 </mirrors> 11 ... 12 </settings>

  其中,<mirrorOf> 指明了為哪個(gè)倉(cāng)庫(kù)配置鏡像,可以使用通配符如:<mirrorOf>*</mirrorOf>,或者 <mirrorOf>repo1,repo2</mirrorOf> 等進(jìn)行匹配。一旦配置了鏡像,所有針對(duì)原倉(cāng)庫(kù)的訪問將轉(zhuǎn)到鏡像倉(cāng)庫(kù)的訪問,原倉(cāng)庫(kù)將不再能直接訪問,即使鏡像倉(cāng)庫(kù)不穩(wěn)定或停用。在搭建私服的時(shí)候,我們通常為所有倉(cāng)庫(kù)設(shè)置鏡像為私服地址,通過私服對(duì)所有倉(cāng)庫(kù)進(jìn)行統(tǒng)一管理。

3 . 5 . 常用的倉(cāng)庫(kù)搜索地址

  • http://search.maven.org/
  • https://repository.sonatype.org/
  • http://mvnrepository.com/

轉(zhuǎn)載于:https://www.cnblogs.com/ysq0908/p/4737977.html

總結(jié)

以上是生活随笔為你收集整理的Maven仓库详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。