在您settings.xml
的<repositories>
元素(或项目的父级或公司父级POM)中查找该元素。它看起来像下面的样子。
<repositories>
<repository>
<id>central</id>
<url>http://gotoNexus</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</releases>
</repository>
</repositories>
注意<updatePolicy>
元素。该示例告诉Maven每当Maven在构建期间需要检索快照工件时,就联系远程仓库(在本例中为Nexus,如果您不使用自己的远程仓库,则为Nexus),以检查是否有更新的副本。为此需要元数据。如果有较新的副本,Maven会将其下载到本地存储库中。
在此示例中,对于发行版,策略是daily
这样的,因此它将在当天的首次构建期间进行检查。 never
也是有效的选项,如Maven settings docs中所述。
插件单独解决。您可能还为它们配置了存储库,如果需要,可以使用不同的更新策略。
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://gotoNexus</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
</pluginRepository>
</pluginRepositories>
有人提到了该-o
选项。如果使用该选项,则Maven将以“脱机”模式运行。它知道它只有一个本地存储库,无论您使用哪种更新策略,它都不会与远程存储库联系以刷新工件。