Maven构建时如何阻止从其他存储库下载meta.xml

时间:2019-10-28 03:45:13

标签: java maven

每次构建项目时,它总是显示类似这样的警告

[WARNING] Could not transfer metadata {one of our own snapshot lib}/maven-metadata.xml from/to repository.jboss.org (http://repository.jboss.org/nexus/content/groups/public/): Connect to repository.jboss.org:443 [repository.jboss.org/209.132.182.97] failed: Connection timed out (Connection timed out)

[INFO] Downloading: https://maven.java.net/content/repositories/xxx/1.0.0-SNAPSHOT/maven-metadata.xml
[INFO] Downloading: https://repository.apache.org/content/repositories/xxx/1.0.0-SNAPSHOT/maven-metadata.xml
[INFO] Downloading: http://snapshots.repository.codehaus.org/xxx/1.0.0-SNAPSHOT/maven-metadata.xml

我们通常可以在最后一次成功构建,但是有时它将阻止构建进度一小时或更长时间。

有趣的是,这个库是我们自己的服务器中的库,但是maven总是尝试从其他第三方存储库下载其元数据。

我该怎么办?

2 个答案:

答案 0 :(得分:0)

您可能在settings.xml中指定了jboss存储库(由于某种原因而无法连接)。如果您的settings.xml没有镜像条目,它也可能来自POM文件。

此外,jboss存储库可能在内部存储库之前 出现,因此Maven会先尝试在其中查找。

最好的做法通常是通过公司的Nexus服务器管理所有外部存储库,并指向setting.xml中的存储库。

答案 1 :(得分:0)

Maven下载的唯一原因是SNAPSHOT(可能很清楚)或版本范围。如果直接或传递依赖项使用版本范围(并不总是可见),则Maven将下载该元文件。根据您的项目,您应该尽量减少这种情况,并将这些版本锁定在您自己的项目中。这将使构建更快,更可靠。 您应该可以针对超时等方面对Nexus进行微调。