Maven:repositories、distributionManagement、pluginRepositories中repository的區別


本文鏈接:https://blog.csdn.net/netyeaxi/article/details/95804076

 

目錄

一、repositories中的repository

二、distributionManagement中的repository

三、pluginRepositories中的repository


一、repositories中的repository

表示從什么庫地址可以下載項目依賴的庫文件,比如:

<repositories>
  <repository>
      <id>nexus</id>
      <name>Nexus</name>
      <url>http://nexus.argan.xyz/nexus/content/groups/public/</url>
      <releases>
          <enabled>true</enabled>
          <updatePolicy>always</updatePolicy>  
          <checksumPolicy>warn</checksumPolicy>  
      </releases>
      <snapshots>
          <enabled>true</enabled>  
          <updatePolicy>always</updatePolicy>  
          <checksumPolicy>warn</checksumPolicy>  
      </snapshots>
  </repository>
</repositories>

 repository中的字段說明如下:

id,庫的ID
name,庫的名稱
url,庫的URL
layout,在Maven 2/3中都是default,只有在Maven 1.x中才是legacy
releases,庫中版本為releases的構件
snapshots,庫中版本為snapshots的構件

  • enabled,是否支持更新
  • updatePolicy,構件更新的策略,可選值有daily, always, never, interval:X(其中的X是一個數字,表示間隔的時間,單位min),默認為daily
  • checksumPolicy,校驗碼異常的策略,可選值有ignore, fail, warn
  • layout,在Maven 2/3中都是default,只有在Maven 1.x中才是legacy

 如果需要認證才能訪問,則需要在settings.xml文件中添加如下內容,並且server中的id字段的值要與repository中id字段的值相同

<servers>  
    <server>  
        <id>nexus</id>  
        <username>admin</username>  
        <password>admin123</password>  
     </server> 
</servers>

二、distributionManagement中的repository

表示的是項目打包成庫文件后要上傳到什么庫地址,比如:

<distributionManagement>
    <repository>
        <uniqueVersion>false</uniqueVersion>
        <id>releases</id>
        <name>Corporate Repository</name>
        <url>scp://repo/maven2</url>
        <layout>default</layout>
    </repository>
    <snapshotRepository>
        <uniqueVersion>true</uniqueVersion>
        <id>snapshots</id>
        <name>Propellors Snapshots</name>
        <url>sftp://propellers.net/maven</url>
        <layout>legacy</layout>
    </snapshotRepository>
</distributionManagement>

與repositories中的repository不同的是,distributionManagement中分為repository和snapshotRepository,但里面的字段大致與repositories中的repository內的相同。同樣,如果訪問需要認證的話,也需要在settings.xml文件中設置:

<servers>  
    <server>  
        <id>releases</id>  
        <username>admin</username>  
        <password>admin123</password>  
     </server>  
    <server>  
        <id>snapshots</id>  
        <username>admin</username>  
        <password>admin123</password>  
    </server>  
</servers>

三、pluginRepositories中的repository

pluginRepositories中的repository是以pluginRepository表示的,它表示插件從什么庫地址下載。

<pluginRepositories>
  <pluginRepository>
      <id>nexus</id>
      <name>Nexus</name>
      <url>http://10.21.7.1:8081/repository/ai-public/</url>
      <releases>
          <enabled>true</enabled>
          <updatePolicy>always</updatePolicy>  
          <checksumPolicy>warn</checksumPolicy>  
      </releases>
      <snapshots>
          <enabled>true</enabled>  
          <updatePolicy>always</updatePolicy>  
          <checksumPolicy>warn</checksumPolicy>  
      </snapshots>
  </pluginRepository>
</pluginRepositories>

它里面的字段和用法與repositories中的repository基本一致。

 

參考文檔

maven的mirror和repository加載順序

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM