12

我在 ubuntu 上安装 cloudstack,它使用 maven 来解决它的依赖关系。运行命令时出现以下错误mvn -P deps

[ERROR] The build could not read 1 project -> [Help 1] 
[ERROR]    
[ERROR]   The project org.apache.cloudstack:cloudstack:4.2.0 (/home/cloud/apache-cloudstack-4.2.0-src/pom.xml) has 1 error 
[ERROR]     Non-resolvable parent POM: Could not transfer artifact org.apache:apache:pom:11 from/to central (http://repo.maven.apache.org/maven2): repo.maven.apache.org: Name or service not known and 'parent.relativePath' points at wrong local POM @ line 14, column 11: Unknown host repo.maven.apache.org: Name or service not known -> [Help 2] 
[ERROR] 

我已经搜索了错误并尝试了 pom.xml 中的一些更改,但我没有得到解决方案。我不知道是什么导致了错误。

任何建议或最轻微的帮助都会得到承认。谢谢你。

4

4 回答 4

17

这是一个网络问题:

您的构建机器无法访问http://repo.maven.apache.org/maven2

在命令行中使用wget以检查您是否可以访问该网站。例如

root@mgmtserver:~/cm# wget http://repo.maven.apache.org/maven2
--2013-10-14 16:33:24--  http://repo.maven.apache.org/maven2
Resolving repo.maven.apache.org (repo.maven.apache.org)... 185.31.19.184, 185.31.19.185
Connecting to repo.maven.apache.org (repo.maven.apache.org)|185.31.19.184|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://central.maven.org/maven2/ [following]
--2013-10-14 16:33:24--  http://central.maven.org/maven2/
Resolving central.maven.org (central.maven.org)... 185.31.19.184, 185.31.19.185
Reusing existing connection to repo.maven.apache.org:80.
HTTP request sent, awaiting response... 200 OK
Length: 967 [text/html]
Saving to: `maven2'

100%[=====================================================>] 967         --.-K/s   in 0s

2013-10-14 16:33:24 (74.4 MB/s) - `maven2' saved [967/967]

wget可能失败 的原因:

  1. Maven 存储库暂时关闭。等到它工作。
  2. 您的构建机器上没有网络适配器。检查它是否具有网络访问权限。
  3. 您的代理设置不正确。 试试这个解决方案,或者Maven mini-guide 代理设置

背景:

Apache CloudStack 的 POM.xml 从Apache Software Foundation Parent POM继承预定义的值。因此,Maven 构建首先从网络位置下载所需的 POM,然后 Maven 将其存储在本地Maven 存储库中,这是一种本地缓存。

最后的评论:

如果您好奇,正在下载的 POM 的来源是这里

于 2013-10-14T15:36:14.747 回答
4

问题是我使用的是代理网络,而 maven 没有配置相同的。所以我在 apache-maven-3.0.5/conf/settings.xml 中进行了更改,请参阅此链接以获取更多信息http://maven.apache.org/guides/mini/guide-proxies.html

于 2013-10-18T11:01:40.860 回答
1

如果您遇到此问题,但同时可以使用浏览器访问 URL,那么执行mvn clean之前mvn install可能会解决问题。这解决了我的问题。

于 2015-02-25T21:41:44.417 回答
1

我不知道为什么,但因为这对我有用,我分享它希望节省别人的时间:

我在其他人以前使用的 Windows7 上,我发现

%MAVEN_HOME%\conf\ settings.xml

包含以下行:

<localRepository>C:/m2/repository</localRepository>

可能在不同的用户之间共享一个存储库。
这是导致问题的原因,因为当我将该行更改为:

<localRepository>C:/Users/my_user_name/.m2/repository</localRepository>

,它开始完美运行!从命令行、带有外部 Maven 的 Eclipse 以及带有嵌入式 Maven 的 Eclipse。

在此之前,没有任何工件解析有效。

可能与根文件夹下的写入权限有关...

希望有帮助。

于 2016-10-25T09:53:44.460 回答