我在项目中使用的是maven,大多数情况下我仅使用依赖项标签,但是这次我使用了以下标签:
<repositories>
<repository>
<id>myrepo</id>
<name>REPO</name>
<url>http://host:8081/nexus/content/repositories/repo/</url>
<layout>default</layout>
</repository>
<repository>
<id>thirdparty</id>
<name>THIRD</name>
<url>http://host:8081/nexus/content/repositories/thirdparty/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>repo-snapshots</id>
<name>REPO-SNAPSHOTS</name>
<url>http://host:8081/nexus/content/repositories/snapshots/</url>
<layout>default</layout>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>repo1-snapshots</id>
<name>REPO1-SNAPSHOTS</name>
<url>http://host1:8081/nexus/content/repositories/snapshots/</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>myplugin</id>
<name>MY-PLUGIN</name>
<url>http://host:8081/nexus/content/repositories/central/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
</pluginRepository>
</pluginRepositories>
<distributionManagement>
<repository>
<id>distr</id>
<name>DISTR</name>
<url>http://host:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>distr</id>
<name>DISTR</name>
<url>http://host:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
我知道repositories
用于配置我们的远程存储库。
1)但是releases --> enabled = true
的用途是什么
2)也是我们说snapshots --> enabled=true
而不使用releases
时的指示。
3)同样,如果我们说updatePolicy=always
,它的含义是什么;如果我们不提这句话,会发生什么情况。
4)pluginRepositories
在这里有什么用?以及内部releases
标签
5)distributionManagement
及其内部标记repository
和snapshotRepository
的用途是什么?
答案 0 :(得分:1)
1)这意味着Maven在此存储库中搜索发行版本(又名非SNAPSHOT版本)。
2)Maven在此存储库中搜索SNAPSHOT版本。
(1)和(2)之所以存在区别是因为,如果没有存储库组,则通常针对不同类型的存储库也将不同。
3)这意味着SNAPSHOTS总是从远程存储库更新(读取:每个内部版本)。标准政策是将下载的SNAPSHOT缓存一天(因此在同一天触发另一个构建将不会再次下载最新的SNAPSHOT)。
4)这些存储库纯粹用于插件的依赖性。
5)这些用于部署您自己构建的工件。