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

maven?repository詳解

 更新時間:2023年05月31日 15:45:38   作者:houJINye  
這篇文章主要介紹了maven?repository的相關知識,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

保存構件的地方即為repository(倉庫)。

倉庫的分類

maven倉庫分為兩類:本地倉庫和遠程倉庫。

當maven根據(jù)pom中定義的坐標尋找構件時,首先在本地倉庫中尋找,當找不到時再從遠程倉庫尋找,都找不到時拋出異常。

maven遠程倉庫還可進一步分類:

本地倉庫

默認maven會在c盤創(chuàng)建一個.m2的本地倉庫,如果要修改本地倉庫地址,可以修改setting.xml文件:

<settings>
   <localRepository>D:\64\m2\repository</localRepository>
</settings>

遠程倉庫中央倉庫

使用解壓軟件打開%M2_HOME%/lib/maven-model-builder-3.1.1.jar,然后訪問路徑org/apache/maven/model/pom-4.0.0.xml,可看到:

<repositories>
   <repository>
     <id>central</id>
     <name>Central Repository</name>
     <url>http://repo.maven.apache.org/maven2</url>
     <layout>default</layout>
     <snapshots>
       <enabled>false</enabled>
     </snapshots>
   </repository>
</repositories>

包含這段配置的文件是所有maven項目都會繼承的超級pom。上述配置中,snapshots子元素enabled的值為false,表示不從中央倉庫下載快照版本的構件。

私服

私服是一種特殊的遠程倉庫,架設于局域網(wǎng)內。當maven需要下載構件時,先從私服尋找,私服中沒有再從外部倉庫下載。

私服有許多顯著的優(yōu)點:

■ 節(jié)省外網(wǎng)帶寬

■ 加速maven構件

■ 部署第三方構件

■ 提高穩(wěn)定性,增強控制

■ 降低中央倉庫的負荷

遠程倉庫配置

如果默認的遠程中央倉庫無法滿足需求,我們可以在pom中添加遠程倉庫的配置:

<project>
   ...
   <repositories>
     <repository>
       <id>jboss</id>
       <name>JBoss Repository</name>
       <url>http://repository.jboss.com/maven2/</url>
       <releases>
         <enabled>true</enabled>
       </releases>
       <snapshots>
         <enabled>false</enabled>
       </snapshots>
       <layout>default</layout>
     </repository>
   </repositories>
</project>

在repositories元素下,使用repository元素聲明一個或多個遠程倉庫。上面的xml聲明了一個id為jboss,名稱為JBoss Repository的倉庫。

任何一個倉庫的id是唯一的,maven自帶的中央倉庫使用的id為central,如果其他倉庫的id也為central,那么它將覆蓋自帶的中央倉庫。

url指向倉庫地址,一般該地址都是基于http協(xié)議。releases的enabled值為true,表示開啟JBoss倉庫的發(fā)布版本下載支持,snapshots的enabled值為false,表示關閉JBoss倉庫的快照版本的下載支持。

release和snapshots元素還可以配置另外兩個子元素:

<snapshots>
   <enabled>true</enabled>
   <updatePolicy>daily</updatePolicy>
   <checksumPolicy>ignore</checksumPolicy>
</snapshots>

updatePolicy元素配置maven從遠程倉庫檢查更新的頻率,默認值為daily。其他可用值有:never —— 從不檢查更新,always —— 每次構建都檢查更新,interval:X —— 每隔X分鐘檢查一次更新。用戶也可以使用命令 mvn clean install -U強制更新。

checksumPolicy元素用來配置當下載構件時,maven檢驗和驗證失敗時候的動作,默認為warn,即輸出警告信息,ignore則為忽略錯誤。

遠程倉庫認證

如果遠程倉庫出于安全的考慮設置了用戶名和密碼,這時候我們必須在settings.xml中配置:

<settings>
   ...
   <servers>
     <server>
       <id>my-proj</id>
       <username>repo-user</username>
       <password>repo_pwd</password>
     </server>
   </servers>
</settings>

上述xml指定了id為my-proj的遠程倉庫的用戶名和密碼。

部署至遠程倉庫

如前所述,私服一大作用是可以部署第三方構件。無論是開發(fā)中生成的構件還是正式發(fā)布的構件,都需要部署到私服中供小組中的其他開發(fā)人員使用,在maven項目pom中配置:

<project>
   ...
   <distributionManagement>
     <snapshotRepository>
       <id>user-snapshot</id>
       <name>User Porject Snapshot</name>
       <url>http://192.168.10.217:8081/nexus/
           content/repositories/snapshots/</url>
       <uniqueVersion>true</uniqueVersion>
     </snapshotRepository>
     <repository>
       <id>user-release</id>
       <name>User Porject Release</name>
       <url>http://192.168.10.217:8081/nexus/
           content/repositories/releases/</url>
     </repository>
   </distributionManagement>
</project>

上述xml明確指定了快照版本和發(fā)行版本的私服id和地址,如前所述,如果私服設置了賬號密碼,則應該在settings.xml中設置對應id的私服賬號和密碼,就本例來說,我們應該在settings.xml中設置:

<settings>
   <servers>
     <server>
       <id>user-release</id>
       <username>deployment</username>
       <password>deployment123</password>
     </server>
     <server>
       <id>user-snapshot</id>
       <username>deployment</username>
       <password>deployment123</password>
     </server>
   </servers>
</settings>

配置正確后,可以運行命令mvn clean deploy將項目構建輸出的構件部署到對應的遠程倉庫。

快照版本

版本元素version中添加SNAPSHOT標識,表明該構件為快照版本。SNAPSHOT版本的構件發(fā)布到私服的過程中,maven會自動加上時間戳。另一位開發(fā)者從該私服獲取這個構件的時候,maven會自動獲取時間戳最新的構件。

快照版本只應該在組織內部依賴使用,項目不應該依賴于任何組織外部的快照版本依賴。因為快照版本的不穩(wěn)定性會對項目造成潛在的危險。

鏡像

如果倉庫B可以提供倉庫A存儲的所有內容,那么就可以認為B是A的一個鏡像。maven默認的遠程中央倉庫由于服務器不在中國,所以訪問速度可能會慢些,這時候可以再settings.xml中配置一個鏡像:

<settings>
   ...
   <mirrors>
     <mirror>
       <id>maven.net.cn</id>
       <name>one of the central mirrors in china</name>
       <url>http://maven.net.cn/content/groups/public</url>
       <mirrorOf>central</mirrorOf>
     </mirror>
   </mirrors>
</settings>

<mirrorOf>的值為central,表示該配置為中央倉庫的鏡像。任何對于中央倉庫的請求都會本轉至該鏡像。

鏡像常用于私服。由于私服可以代理任何外部的公共倉庫,所以可以說私服就是所有倉庫的鏡像。如:

<settings>
   ...
   <mirrors>
     <mirror>
       <id>nexus</id>
       <mirrorOf>*</mirrorOf>
       <url>http://192.168.10.217:8081/nexus/content/groups/public/</url>
     </mirror> 
  </mirrors>
</settings>

<mirrorOf>的值為*號,表示http://192.168.10.217:8081/nexus/content/groups/public/是所有外部倉庫的鏡像。任何對遠程倉庫的請求都會被轉到這個地址。

<mirrorOf>的配置:

■ <mirrorOf>*<mirrorOf>:匹配所有的遠程倉庫

■ <mirrorOf>external:*<mirrorOf>:匹配所有不在本機上的遠程倉庫

■ <mirrorOf>repo1,repo2<mirrorOf>:匹配倉庫repo1和repo2

■ <mirrorOf>*,!repo1<mirrorOf>:匹配除了repo1之外的所有遠程倉庫

鏡像倉庫完全屏蔽了被鏡像倉庫,當鏡像倉庫停止服務的時候,maven仍無法訪問被鏡像倉庫,因而將無法下載構建。

倉庫搜索服務

下面列出幾個目前能用的maven坐標服務:

1.The Centrl Repository:http://search.maven.org/

2.Maven Repository:http://www.mvnrepository.com/

3.Nexus Repository Manager:https://repository.sonatype.org/#welcome

到此這篇關于maven repository的文章就介紹到這了,更多相關maven repository內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 使用Spring?Boot+gRPC構建微服務并部署的案例詳解

    使用Spring?Boot+gRPC構建微服務并部署的案例詳解

    這篇文章主要介紹了使用Spring?Boot+gRPC構建微服務并部署,Spring Cloud僅僅是一個開發(fā)框架,沒有實現(xiàn)微服務所必須的服務調度、資源分配等功能,這些需求要借助Kubernetes等平臺來完成,本文給大家介紹的非常詳細,需要的朋友參考下吧
    2022-06-06
  • java數(shù)據(jù)結構排序算法之樹形選擇排序詳解

    java數(shù)據(jù)結構排序算法之樹形選擇排序詳解

    這篇文章主要介紹了java數(shù)據(jù)結構排序算法之樹形選擇排序,結合具體實例形式分析了java樹形選擇排序的原理、實現(xiàn)技巧與相關注意事項,需要的朋友可以參考下
    2017-05-05
  • 詳解JUC 常用4大并發(fā)工具類

    詳解JUC 常用4大并發(fā)工具類

    這篇文章主要介紹了JUC 常用4大并發(fā)工具類的相關資料,幫助大家更好的理解和學習Java 并發(fā)編程,感興趣的朋友可以了解下
    2020-10-10
  • java中abstract修改類的實例方法

    java中abstract修改類的實例方法

    在本篇文章里小編給各位分享了一篇關于java中abstract修改類的實例方法,有需要的朋友們可以學習下。
    2020-12-12
  • java如何反編譯jar包并修改class文件重新打包

    java如何反編譯jar包并修改class文件重新打包

    這篇文章主要介紹了java如何反編譯jar包并修改class文件重新打包,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • SpringBoot如何實現(xiàn)各種參數(shù)校驗

    SpringBoot如何實現(xiàn)各種參數(shù)校驗

    文章詳細介紹了SpringValidation的使用,包括簡單使用、requestBody參數(shù)校驗、requestParam/PathVariable參數(shù)校驗、統(tǒng)一異常處理、分組校驗、嵌套校驗、集合校驗、自定義校驗、編程式校驗、快速失敗、@Valid和@Validated的區(qū)別以及實現(xiàn)原理
    2024-12-12
  • Java實現(xiàn)一個順序表的完整代碼

    Java實現(xiàn)一個順序表的完整代碼

    順序表是用一段物理地址連續(xù)的存儲單元依次存儲數(shù)據(jù)元素的線性結構,一般采用數(shù)組存儲。在數(shù)組上完成數(shù)據(jù)的增刪減改。順序表的底層是一個數(shù)組
    2021-04-04
  • 如何使用JCTools實現(xiàn)Java并發(fā)程序

    如何使用JCTools實現(xiàn)Java并發(fā)程序

    這篇文章主要介紹了如何使用JCTools實現(xiàn)Java并發(fā)程序,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下
    2021-03-03
  • Spring整合Redis完整實例代碼

    Spring整合Redis完整實例代碼

    這篇文章主要介紹了Spring整合Redis完整實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • 解析spring-security權限控制和校驗的問題

    解析spring-security權限控制和校驗的問題

    這篇文章主要介紹了解析spring-security權限控制和校驗的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03

最新評論

湾仔区| 阜城县| 溆浦县| 桐柏县| 武隆县| 柳州市| 秦皇岛市| 涿州市| 库伦旗| 汕尾市| 泽库县| 达拉特旗| 白玉县| 双柏县| 新巴尔虎右旗| 赤水市| 玛多县| 车险| 湟中县| 彭水| 温州市| 钟祥市| 古浪县| 岳阳县| 龙岩市| 松潘县| 永福县| 鹰潭市| 永善县| 阳西县| 合江县| 沁阳市| 图片| 治多县| 平利县| 贺兰县| 宜章县| 镇赉县| 安仁县| 辛集市| 新野县|