什么可能导致maven中的'错误传输文件'?

时间:2010-06-30 01:25:59

标签: maven-2

我在我的debian机器上安装了maven 2.2.1并收到以下错误

[WARNING] repository metadata for: 'org.apache.maven.plugins' could not be retrieved  from repository: central due to an error: Error transferring file: repository.exoplatform.org

我能找到的与此问题相关的是它通常是由于没有正确配置代理设置或防火墙阻止流量造成的,但我没有在这台机器上。此外,我在我的Windows机器上有相同的设置文件,它工作正常。

任何建议都会非常感激,因为我很难过。

exo@melb-web:~/test$ mvn -v
Apache Maven 2.2.1 (r801777; 2009-08-07 05:16:01+1000)
Java version: 1.5.0_22
Java home: /usr/local/bin/jdk1.5.0_22/jre
Default locale: en_AU, platform encoding: UTF-8
OS name: "linux" version: "2.6.22-3-amd64" arch: "i386" Family: "unix"
exo@melb-web:~/test$ mvn archetype:generate
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] org.apache.maven.plugins: checking for updates from central
[WARNING] repository metadata for: 'org.apache.maven.plugins' could not be retrieved from repository: central due to an error: Error transferring file: repository.exoplatform.org
[INFO] Repository 'central' will be blacklisted
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] The plugin 'org.apache.maven.plugins:maven-archetype-plugin' does not exist or no valid version could be found
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Wed Jun 30 10:18:33 EST 2010
[INFO] Final Memory: 2M/136M
[INFO] ------------------------------------------------------------------------

*编辑*

我尝试删除settings.xml并生成一个新的maven项目。我得到了以下

exo@melb-web:~/test$ mvn archetype:generate
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] org.apache.maven.plugins: checking for updates from central
[WARNING] repository metadata for: 'org.apache.maven.plugins' could not be retrieved from repository: central due to an error: Error transferring file: repo1.maven.org
[INFO] Repository 'central' will be blacklisted
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] The plugin 'org.apache.maven.plugins:maven-archetype-plugin' does not exist or no valid version could be found
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Wed Jun 30 11:40:26 EST 2010
[INFO] Final Memory: 1M/136M
[INFO] ------------------------------------------------------------------------

我认为这排除了它是settings.xml或pom的问题。有没有办法获得有关为什么maven无法连接到存储库的更多信息?

7 个答案:

答案 0 :(得分:9)

我尝试过相同的命令并获得相同的错误消息,因此我使用调试标志运行。这会根据代理设置等提供不同的根异常。 如果你得到更好的详细输出,请尝试运行它。

mvn -X archetype:generate

案例1:

未连接到网络的计算机(已禁用电缆)会发出调试消息

[DEBUG] Exception
org.apache.maven.wagon.TransferFailedException: Error transferring file
...
Caused by: java.net.UnknownHostException: repo1.maven.org
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
[INFO] Repository 'central' will be blacklisted

案例2:

与错误代理连接的机器提供调试消息

[DEBUG] Exception
org.apache.maven.wagon.TransferFailedException: Error transferring file
...
Caused by: java.net.ConnectException: Connection timed out: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
[INFO] Repository 'central' will be blacklisted

此处错误可能是403,连接重置或授权或访问禁止错误

案例3:

直接连接互联网的机器

[DEBUG] Trying repository central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archet
ype-plugin/2.0-alpha-5/maven-archetype-plugin-2.0-alpha-5.jar
[DEBUG]   Artifact resolved
[INFO] ------------------------------------------------------------------------

等等,直到它起作用。

答案 1 :(得分:3)

只是为了关闭这个循环 - 结果证明了debian可用于解析主机名的库问题。修复是为java应用新的libdns,如http://www.ehow.com/how_4747553_fix-unknownhostexception-java-applications-ubuntu.html所述。一旦我这样做,我就能用jdk5和jdk6运行mvn。

答案 2 :(得分:2)

我猜它与pom中的存储库设置,父pom或〜/ .m2 / settings.xml文件有关。也可能是exoplatform的回购配置错误。

如果没有设置存储库,则原型插件将来自repo1.maven.org

http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/

答案 3 :(得分:0)

我遇到了同样的问题。在我的例子中,它实际上是来自先前作业的剩余settings.xml文件。我备份并删除了〜/ .m2 / settings.xml,构建完成得很好。

答案 4 :(得分:0)

如果可能,请更新到maven 3.0.4或更高版本。

我研究了maven源代码:maven 2.2.1中存在一个bootstrap问题。访问HTTPS服务器时,代理将被查找为HTTPS,但您只能将一个代理作为活动状态。 HTTP代理没有回退。在maven 3.0.4中,这个问题似乎已经解决了。

答案 5 :(得分:0)

快速解决方案&#34;是在命令中提供完全限定的插件名称:

mvn org.mortbay.jetty:maven-jetty-plugin:run

答案 6 :(得分:0)

不要忘记关闭VPN ,特别是对中国人。这是一个SSL握手问题。