Maven从哪里得到它用来下载poms的url
Where does Maven get the url it uses to download poms
对于 一些 项目,maven
似乎在构建正确的 URL.
时遇到问题
我遇到了失败:
Failed to execute goal on project Test: Could not resolve dependencies for project com.oldcurmudgeon:Test:jar:1.0: Failed to collect dependencies for [..., com.google.guava:guava:jar:15.0 (compile), commons-collections:commons-collections:jar:3.2.1 ...]: Failed to read artifact descriptor for org.slf4j:jul-to-slf4j:jar:1.7.14: Could not transfer artifact org.slf4j:jul-to-slf4j:pom:1.7.14 from/to uk.maven.org (http://uk.maven.org/maven2): Connect to uk.maven.org:80 [uk.maven.org/23.235.43.209] failed: Connection timed out: connect -> [Help 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 的来源?
已添加
.m2
文件夹中的 settings.xml
(如@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>
已编辑:
问题的答案:central
的定义在作为 Maven 安装一部分的 Maven 超级 POM 中。如果您希望将 Maven 安装指向不同的中央存储库,则可以镜像此存储库。
解决方法:可能是由于多个problems.However导致无法连接,有几个官方的Central repository分布在不同的地域。您可以更改 settings.xml(位于 ${user.home}/.m2/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>
[uk.maven.org/23.235.43.209]
不是 URL,我认为它是帮助查找网络问题的详细输出。
23.235.43.209
是uk.maven.org
的IP:
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
构建Maven项目时,会解析pom.xml文件,如果看到log4j的Maven坐标,则Maven按以下顺序搜索log4j库:
在 Maven 本地存储库中搜索 log4j。
在 Maven 中央存储库中搜索 log4j。
在 Maven 远程存储库中搜索 log4j(如果在 pom.xml 中定义)。
Maven 依赖库管理是一个非常好的工具,可以为您节省很多工作。
有几个官方中央存储库在地理上分布。您可以更改 settings.xml.Currently,mavenSW 中央存储库位于 http://repo1.maven.org/maven2。您可以在 org/apache/maven/project/pom-4.0.0.xml.[=12= 的 maven-2.0.8-uber.jar 的超级 pom.xml 文件中找到此 URL ]
有时,利用中央存储库的 public 镜像会很有用。例如,在中央存储库出现故障的罕见情况下,您可以指定使用存储库的镜像而不是中央存储库。此外,如果有一个镜像在地理位置上离您很近,那么使用 public 镜像可能会节省时间。 http://maven.apache.org/guides/mini/guide-mirror-settings.html.
中存在多个镜像的列表
对于 一些 项目,maven
似乎在构建正确的 URL.
我遇到了失败:
Failed to execute goal on project Test: Could not resolve dependencies for project com.oldcurmudgeon:Test:jar:1.0: Failed to collect dependencies for [..., com.google.guava:guava:jar:15.0 (compile), commons-collections:commons-collections:jar:3.2.1 ...]: Failed to read artifact descriptor for org.slf4j:jul-to-slf4j:jar:1.7.14: Could not transfer artifact org.slf4j:jul-to-slf4j:pom:1.7.14 from/to uk.maven.org (http://uk.maven.org/maven2): Connect to uk.maven.org:80 [uk.maven.org/23.235.43.209] failed: Connection timed out: connect -> [Help 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 的来源?
已添加
.m2
文件夹中的 settings.xml
(如@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>
已编辑:
问题的答案:central
的定义在作为 Maven 安装一部分的 Maven 超级 POM 中。如果您希望将 Maven 安装指向不同的中央存储库,则可以镜像此存储库。
解决方法:可能是由于多个problems.However导致无法连接,有几个官方的Central repository分布在不同的地域。您可以更改 settings.xml(位于 ${user.home}/.m2/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>
[uk.maven.org/23.235.43.209]
不是 URL,我认为它是帮助查找网络问题的详细输出。
23.235.43.209
是uk.maven.org
的IP:
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
构建Maven项目时,会解析pom.xml文件,如果看到log4j的Maven坐标,则Maven按以下顺序搜索log4j库:
在 Maven 本地存储库中搜索 log4j。 在 Maven 中央存储库中搜索 log4j。 在 Maven 远程存储库中搜索 log4j(如果在 pom.xml 中定义)。 Maven 依赖库管理是一个非常好的工具,可以为您节省很多工作。 有几个官方中央存储库在地理上分布。您可以更改 settings.xml.Currently,mavenSW 中央存储库位于 http://repo1.maven.org/maven2。您可以在 org/apache/maven/project/pom-4.0.0.xml.[=12= 的 maven-2.0.8-uber.jar 的超级 pom.xml 文件中找到此 URL ]
有时,利用中央存储库的 public 镜像会很有用。例如,在中央存储库出现故障的罕见情况下,您可以指定使用存储库的镜像而不是中央存储库。此外,如果有一个镜像在地理位置上离您很近,那么使用 public 镜像可能会节省时间。 http://maven.apache.org/guides/mini/guide-mirror-settings.html.
中存在多个镜像的列表