目錄
二、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基本一致。
參考文檔