m2eclipse不会下载maven工件

时间:2010-10-18 21:12:43

标签: maven m2eclipse

我最近安装了eclipse 3.6.1,m2eclipse插件与我现有的maven构建一起使用,但我遇到了很多问题,试图让它工作。

我现有的maven项目从命令行构建得很好。

将项目树导入eclipse后,我在其中一个项目上运行了构建。它最终因这个错误而死:

10/18/10 2:03:02 PM PDT:[DEBUG]无法从资源库中心获取资源'org.apache.maven.wagon:wagon-file:jar:1.0-alpha-6'({{ 3}})授权失败:转移失败:未经代理授权

来自命令行的Maven可以从中心下载内容而不会出现问题 Eclipse能够从sonatype网站下载m2eclispe插件   - 基于此,我知道我的代理设置正在运行。

但由于某些原因,eclipse或m2eclipse无法告诉maven正确的设置。

我检查了帖子http://repo1.maven.org/maven2,并尝试删除* .lastupdated文件,但这对错误没有影响。

我该如何解决这个问题?

5 个答案:

答案 0 :(得分:2)

Eclipse不知道配置到操作系统中的代理信息。代理信息在系统引导期间可能来自引导服务器,或者手动配置到系统中。我主要使用linux,无法解释任何风味的Windows机器如何读取这些信息。

来自命令行的Maven知道代理信息。来自命令行的Maven可能具有可用于读取代理信息的shell运行时环境。我想Eclipse会忽略这个shell运行时环境。

我遇到了这个问题并按如下方式解决了这个问题。要继续,您需要知道您的代理IP地址,以及代理验证信息,如用户名/密码。您的网络或代理管理员应该可以使用此功能。我用wireshark偷了电线。

顺便说一下,eclise的“安装新软件”和“检查更新”可能也不起作用。他们将在此之后。

此外,完成此操作后,您将需要从本地m2存储库中手动删除“ lastUpdated ”文件。我找不到关于如何使用这些文件的google的大量信息,但是当你希望下载工件时它们会受到妨碍。

以这种方式打开网络连接首选项:Windows-> Preferences-> General-> NetworkConnections

将Active Provider设置为Manual。

单击HTTP和HTTPS的检查按钮(可能是SOCKS)。

选择HTTP行,然后单击编辑。

提供主机IP地址,单击“需要身份验证”,输入用户名和密码。如果您的代理由Windows域管理,则用户名将如下所示:DOMAIN \ USERNAME。

重复HTTPS。

单击“确定”,“确定”,“确定”。

去城里。

答案 1 :(得分:1)

遇到了与代理相同的eclipse m2问题。

我在首选项/常规/网络连接中有正确的代理设置。 但这似乎没有任何帮助。

然而,在我在“settings.xml”中设置我的代理用户/密码后,一切都工作了。

似乎偏好下的代理设置对我的情况没有影响。

答案 2 :(得分:1)

我有相同的症状(“安装新软件”工作正常,Maven从命令行工作正常)。我不相信我的代理需要身份验证 - Eclipse的“网络连接”页面中的“原生”提供程序说Auth = false,我的settings.xml为空username和{{1}代理配置中的元素。

无论如何,我尝试完全删除password代理配置中的usernamepassword元素,并删除settings.xml文件,现在m2eclipse似乎非常高兴。

我的理论是,如果指定空元素,那么命令行Maven(在我的情况下为2.2.1)不会发送身份验证信息,因此它可以与我的代理一起使用,而m2eclipse中嵌入的Maven 3可能会发送身份验证标题,但有空白信息,我的代理拒绝。我没有嗅到交通来证实这一点,所以这只是一种预感。即使它是对的,我也不确定谁有过错。

答案 3 :(得分:1)

我和m2eclipse有同样的问题。在验证我的项目是使用命令行eclipse(使用'compile'目标)构建之后,我还可以使用m2eclipse来构建具有相同目标(使用Run As> Maven Build ...>)。但是,默认运行方式> Maven Install仍然因“错误代码407,需要代理身份验证”而失败,这很奇怪,因为配置的代理不需要身份验证。虽然这个错误略有不同,但问题描述非常类似。

现在,当我使用带有'install'目标的命令行Maven时,m2eclipse默认构建也成功运行。我没有改变一点配置。更重要的是:一旦我运行了一次,m2eclipse没有任何额外的依赖性问题?!

总而言之:在我看来,m2eclipse中存在一些缺陷,使得它在初始依赖下载期间与代理进行通信时表现不同。

我希望这个解决方法也适合你......

答案 4 :(得分:0)

在运行spring roo应用程序时遇到此错误。

({http://repo.spring.io/spring-roo):对http://repo.spring.io/的授权失败

将存储库url协议从http更新为https以使其正常工作。

<repository>
      <id>spring-roo-repository</id>
      <name>Spring Roo Repository</name>
      <url>https://repo.spring.io/spring-roo</url>
</repository>