禁止 Maven 更新远程 SNAPSHOT 仓库

在使用第三方处于 SANPSHOT 状态的库时, maven 默认每次都会自动取远程仓库中的信息进行比较,以确定是否需要下载最新的版本。

这个过程有时候是非常耗时的,特别是在网络不是太顺畅的情况下。如何禁止这种默认行为呢?只要在项目的 pom.xml 文件中加入仓库的相关设置即可。比如:

1
2
3
4
5
6
7
8
9
10
11
12
13
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
</repository>
</repositories>

在这段设置中,允许访问官方中心 snapshots 库,但把更新策略设置为 never, 这样就不会每次构建都要访问远程库了,大大加快了构建速度。

实际上,updatePolicy 可以选取的值有4个:

  1. always - 每次都和远程库进行比较
  2. daily - 每天比较,这是默认设置
  3. interval:minutes - 每隔几分钟,比如: interval:20
  4. never - 从不

设置为 never 后,也可以通过命令行的 -U 参数强制更新。比如:

1
mvn clean install -U

本文标题:禁止 Maven 更新远程 SNAPSHOT 仓库

文章作者:Morning Star

发布时间:2019年09月12日 - 13:09

最后更新:2021年04月16日 - 15:04

原始链接:https://www.mls-tech.info/java/java-maven-access-remote-snapshot/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。