为什么我的maven会进入封闭式存储库?

时间:2014-06-25 12:18:02

标签: maven repository

我已经配置了许多存储库,正如我在

中找到的那样
MAVEN_HOME/conf/settings.xml

我原以为这会增加我工作场所的套餐供应量。

不幸的是,它会产生一些额外的问题。例如,我已配置存储库

                <repository>
                    <id>lhogie.i3s.maven.repo</id>
                    <name>Luc Hogie Maven repository</name>
                    <url>http://www.i3s.unice.fr/~hogie/maven_repository/</url>
                </repository>

哪个网站目前正在关闭或不稳定。

尽管如此,我的Maven正试图一次又一次地从这个存储库中下载一些内容,接受权限被拒绝,然后再次尝试。即使对于那些在中央存储库中平静存在的软件包,它也会这样做。

为什么?

为什么不尝试其他存储库如果被淘汰出其中一个?

STDOUT的样本

Downloading: http://www.i3s.unice.fr/~hogie/maven_repository/org/eclipse/jetty/toolchain/jetty-toolchain/1.4/jetty-toolchain-1.4.pom
ш■э 25, 2014 4:18:22 PM org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultRequestDirector tryConnect
INFO: I/O exception (java.net.SocketException) caught when connecting to the target host: Permission denied: connect
ш■э 25, 2014 4:18:22 PM org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultRequestDirector tryConnect
INFO: Retrying connect
ш■э 25, 2014 4:18:43 PM org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultRequestDirector tryConnect
INFO: I/O exception (java.net.SocketException) caught when connecting to the target host: Permission denied: connect
ш■э 25, 2014 4:18:43 PM org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultRequestDirector tryConnect
INFO: Retrying connect
ш■э 25, 2014 4:19:04 PM org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultRequestDirector tryConnect
INFO: I/O exception (java.net.SocketException) caught when connecting to the target host: Permission denied: connect
ш■э 25, 2014 4:19:04 PM org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultRequestDirector tryConnect
INFO: Retrying connect

1 个答案:

答案 0 :(得分:1)

可能是因为Maven不想隐藏你的问题。我不知道Maven使用的算法,但我认为它只是按顺序尝试所有repos,直到它找到它所寻找的内容。所以你可以简单地添加Maven Central作为第一个回购,它会提前停止。

但更好的解决方案通常是在本地网络中安装代理服务器。它将保留您使用的所有包的镜像。然后,您可以告诉Maven询问代理(因此您不必在许多开发人员的所有settings.xml中保持N repos处于相同状态)以及为新开发人员执行第一次构建(或者在您必须擦拭你当地的回购)会快得多。