- 一、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,在Maven2/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基本一致。