激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解maven的setting配置文件中mirror和repository的區別

詳解maven的setting配置文件中mirror和repository的區別

2021-06-22 13:32DrinkwaterGor Java教程

這篇文章主要介紹了詳解maven的setting配置文件中mirror和repository的區別,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

maven需要到的依賴jar包不在本地倉庫時, 就需要到遠程倉庫下載 .

這個時候如果mavensetting.xml中配置了鏡像 , 而且鏡像配置的規則中匹配到目標倉庫時 ,

maven認為目標倉庫被鏡像了, 不會再去被鏡像倉庫下載依賴jar包, 而是直接去鏡像倉庫下載.

簡單而言, mirror可以攔截對遠程倉庫的請求 , 改變對目標倉庫的下載地址

repository

repository就是個倉庫.

maven里有兩種倉庫,本地倉庫和遠程倉庫。

遠程倉庫相當于公共的倉庫,大家都能看到。

本地倉庫是你本地的緩存副本,只有你看的到,主要起緩存作用。

當你向倉庫請求插件或依賴的時候,會先檢查本地倉庫里是否有。

如果有則直接返回,否則會向遠程倉庫請求,并被緩存到本地倉庫。

遠程倉庫可以在工程的pom.xml文件里指定。

如果沒指定,默認會到http://repo1.maven.org/maven2這個地方去請求插件和依賴包。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
*<repository> *
 
*  <snapshots> *
 
*  <enabled>false</enabled> *
 
*  </snapshots> *
 
*  <id>central</id> *
 
*  <name>maven repository switchboard</name> *
 
*  <url>**[http://repo1.maven.org/maven2</url>*
 
* </repository> *

本地倉庫默認在你本地的用戶目錄下的.m2/repository目錄下。

mirror

mirror就是鏡像,主要提供一個方便地切換遠程倉庫地址的途徑。

比如,上班的時候在公司,用電信的網絡,連的是電信的倉庫。

回到家后,是網通的網絡,我想連網通的倉庫,就可以通過mirror配置,統一把我工程里的倉庫地址都改成聯通的,而不用到具體工程配置文件里一個一個地改地址。

mirror的配置在.m2/settings.xml里。如:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
*<mirrors> *
 
* <mirror> *
 
* <id>uk</id> *
 
* <name>uk central</name> *
 
* <url>**[http://uk.maven.org/maven2</url> ](http://uk.maven.org/maven2%3c/url%3e%c2%a0%c2%a0)*
 
* <mirrorof>central</mirrorof> *
 
* </mirror> *
 
*</mirrors> *

這樣的話,就會給上面id為central的遠程倉庫做了個鏡像。

以后向central這個倉庫發的請求都會發到http://uk.maven.org/maven2而不是http://repo1.maven.org/maven2了。

<mirrorof>central</mirrorof>里是要替代的倉庫的id。

如果填*,就會替代所有倉庫。

高級鏡像配置

為了滿足一些復雜的需求,maven還支持更高級的鏡像配置:

1.<mirrorof>*</mirrorof>
匹配所有遠程倉庫。

2.<mirrorof>external:*</mirrorof>
匹配所有遠程倉庫,使用localhost的除外,使用file://協議的除外。也就是說,匹配所有不在本機上的遠程倉庫。

3.<mirrorof>repo1,repo2</mirrorof>
匹配倉庫repo1和repo2,使用逗號分隔多個遠程倉庫。

4.<mirrorof>*,!repo1</miiroof>
匹配所有遠程倉庫,repo1除外,使用感嘆號將倉庫從匹配中排除。

需要注意的是,由于鏡像倉庫完全屏蔽了被鏡像倉庫,當鏡像倉庫不穩定或者停止服務的時候,maven仍將無法訪問被鏡像倉庫,因而將無法下載構件。

例子

個人的maven配置了阿里的鏡像 , 而項目中需要使用到一些第三方jar包, 為了方便引入 , 已上傳到192.168.0.201的nexus私服下.
但由于個人maven阿里的鏡像使用默認mirrorof規則=*, 所有的倉庫都被鏡像 , 不會再去192.168.0.201下下載第三方jar包
上傳的第三方jar包目標路徑 :
http://192.168.0.201:8081/nexus/content/groups/public/com/alipay/sdk-java/20170615110434/sdk-java-20170615110434.pom

被鏡像后路徑 :
http://maven.aliyun.com/nexus/content/groups/public/com/alipay/sdk-java/20170615110434/sdk-java-20170615110434.pom
所以需要修改鏡像的mirrorof規則 , 避免默認從鏡像中下載

maven的conf/setting.xml

?
1
2
3
4
5
6
7
8
9
10
11
<mirrors>
 <!--國內阿里云提供的鏡像,非常不錯-->
<mirror>
 <!--this sends everything else to /public -->
 <id>aliyun_nexus</id>
 <!--對所有倉庫使用該鏡像,除了一個名為maven_nexus_201的倉庫除外-->
 <!--這個名為maven_nexus_201的倉庫可以在javamaven項目中配置一個repository-->
 <mirrorof>*,!maven_nexus_201</mirrorof>
 <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
</mirrors>

maven項目下的pom.xml配置一個遠程倉庫

?
1
2
3
4
5
6
7
8
9
10
11
12
<repositories>
  <!-- 192.168.0.201遠程倉庫 -->
  <repository>
   <id>maven_nexus_201</id>
   <name>maven_nexus_201</name>
   <layout>default</layout>
   <url>http://192.168.0.201:8081/nexus/content/groups/public/</url>
   <snapshots>
    <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>

在下上傳第三方jar包依賴

登陸已經安裝好的nexus私有倉庫,如圖:

詳解maven的setting配置文件中mirror和repository的區別

如何通過網頁方式將jar包上傳到nexus?

點擊左邊菜單“repositories”,選擇右邊列表“3rd party“

詳解maven的setting配置文件中mirror和repository的區別

如何通過網頁方式將jar包上傳到nexus?

點擊“3rd party”,選擇artifact upload,如下圖:

詳解maven的setting配置文件中mirror和repository的區別

如何通過網頁方式將jar包上傳到nexus?

在artifact upload界面顯示的有gav parameter,groupid,artifactid,version,packaging等等參數,界面如圖:

詳解maven的setting配置文件中mirror和repository的區別

如何通過網頁方式將jar包上傳到nexus?

將以上參數填完之后,選擇要上傳的jar包,點擊”add artifact“,最后點擊”save“保存按鈕即可,如下圖所示:

詳解maven的setting配置文件中mirror和repository的區別

如何通過網頁方式將jar包上傳到nexus?

maven項目下的pom.xml引入依賴

?
1
2
3
4
5
<dependency>
 <groupid>com.alipay</groupid>
 <artifactid>sdk-java</artifactid>
 <version>20170615110434</version>
</dependency>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.jianshu.com/p/274c363ffd7c

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本精品久久久久久草草 | 神马久久精品综合 | 91精品国产一区二区三区四区在线 | 国产女做a爱免费视频 | 国产一有一级毛片视频 | 国产三级国产精品国产普男人 | 自偷自偷久产久精九国品在线 | 午夜视频观看 | 精品成人免费一区二区在线播放 | 国产精品免费久久久久 | 内地av在线| 成人免费一区二区三区在线观看 | 性欧美极品xxxx欧美一区二区 | 成人国产精品一区二区毛片在线 | 色诱亚洲精品久久久久久 | 久久性生活免费视频 | 欧美视屏一区二区 | 亚洲小视频在线播放 | 久久在草 | 日韩av片在线免费观看 | 国产精品久久久久久久av | 黄色网址免费在线播放 | 国产一区网址 | 久久伊人精品热在75 | 一级做a在线观看 | 午夜小网站 | 在线观看中文字幕av | 成人三区四区 | 九九综合视频 | 国产一国产一级毛片视频 | 男人的天堂色偷偷 | 国产精品一区二区日韩 | 亚洲精品在线观看免费 | 少妇一级淫片高潮流水电影 | 毛片a片免费看 | 成人免费自拍视频 | 日韩精品中文字幕一区二区三区 | 狠狠久久伊人中文字幕 | 色人阁五月天 | 在线免费视频a | 亚洲日本乱码在线观看 |