对于某些项目,maven
似乎在构建正确的网址时遇到了问题。
我遇到了失败:
无法在项目上执行目标测试:无法解析项目com.oldcurmudgeon的依赖项:测试:jar:1.0:无法收集[...,com.google.guava:guava:jar:15.0的依赖项(编译) ),commons-collections:commons-collections:jar:3.2.1 ...]:无法读取org.slf4j的工件描述符:jul-to-slf4j:jar:1.7.14:无法传输工件org.slf4j: jul-to-slf4j:pom:1.7.14 from / to uk.maven.org(http://uk.maven.org/maven2):连接到 uk.maven.org:80 [uk.maven .org / 23.235.43.209 ] 失败:连接超时:连接 - > [帮助1]
我不明白 23.235.43.209 来自哪里?它是配置还是什么?一些pom.xml
或settings.xml
?
我可以浏览http://uk.maven.org/maven2罚款。
我可以浏览到uk.maven.org:80很好。
我不能浏览uk.maven.org/23.235.43.209。
IP地址显然是问题所在,但我该如何追踪此IP的来源?
加
settings.xml
文件夹中的.m2
(如@KoustavRay所述)读取:
...
<profiles>
<profile>
<id>Repositories</id>
<repositories>
<repository>
<id>central</id>
<name>Maven.org Repository for Maven</name>
<url>http://repo1.maven.org/maven2/</url>
</repository>
<repository>
<id>apache</id>
<name>Maven.org Repository for Apache</name>
<url>http://repo.maven.apache.org/maven2/</url>
</repository>
<repository>
<id>java.net</id>
<name>Java.net Repository for Maven</name>
<url>http://download.java.net/maven/2/</url>
</repository>
</repositories>
</profile>
...
所以没有提到奇怪的IP地址。事实证明,第三个是有点不确定 - 它从那以后就被移动了。但是,删除该条目并不能解决问题。
mirrors
部分:
<mirror>
<mirrorOf>central</mirrorOf>
<name>UK Mirror for maven.org</name>
<url>http://uk.maven.org/maven2</url>
<id>uk.maven.org</id>
</mirror>
答案 0 :(得分:2)
[uk.maven.org/23.235.43.209]
不是URL,我认为这是一个冗长的输出,以帮助查找网络问题。
23.235.43.209
IP uk.maven.org
:
C:\Users\hinneLinks>nslookup uk.maven.org
Server: fritz
Address: 10.2.1.13
Nicht autorisierende Antwort:
Name: sonatype.map.fastly.net
Address: 23.235.43.209
Aliases: uk.maven.org
central.maven.org
答案 1 :(得分:1)
<强>编辑:强>
回答问题:central
的定义位于Maven安装的Maven超级POM中。如果您希望将Maven安装指向其他中央存储库,则可以镜像此存储库。
解决方案:由于多个问题,您可能无法连接。但是,有几个官方的中央存储库在地理位置上分布。您可以更改settings.xml($ {user.home} / .mm/settings.xml)文件以使用一个或多个镜像。可以在使用Mirrors for Repositories的指南中找到相关说明。 一个例子:
<settings>
...
<mirrors>
<mirror>
<id>UK</id>
<name>UK Central</name>
<url>http://uk.maven.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>planetmirror.com</id>
<name>PlanetMirror Australia</name>
<url>http://downloads.planetmirror.com/pub/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
...
</settings>
答案 2 :(得分:0)
当您构建Maven项目时,将解析pom.xml文件,如果它看到log4j Maven坐标,则Maven按此顺序搜索log4j库:
在Maven本地存储库中搜索log4j。 在Maven中央存储库中搜索log4j。 在Maven远程存储库中搜索log4j(如果在pom.xml中定义)。 这个Maven依赖库管理是一个非常好的工具,为您节省了大量的工作。 有几个官方的中央存储库在地理上分布。您可以对settings.xml进行更改。目前,mavenSW中央存储库位于http://repo1.maven.org/maven2。您可以在org / apache / maven / project / pom-4.0.0.xml的maven-2.0.8-uber.jar中的super pom.xml文件中找到此URL。
有时,利用中央存储库的公共镜像会很有用。例如,在极少数情况下中央存储库已关闭,您可以指定使用存储库的镜像而不是中央存储库。此外,如果有一个地理上靠近你的镜子,使用公共镜子可以节省时间。 http://maven.apache.org/guides/mini/guide-mirror-settings.html存在多个镜像的列表。