2010-06-11 73 views
1

我在项目中使用M2Eclipse(0.10.0,Maven 3)。我可以使用m2eclipse添加Maven依赖项。但无法下载依赖关系罐。相反,它在名为[JAR_Name] .jar.lastupdate的每个本地repo文件夹中创建了一个文件。这个文件的内容有点像: http:// [REPO_URL]/central/= 1276221188566无法下载使用M2Eclipse(0.10.0,使用Maven 3)的罐子

即使使用Maven 3命令行。罐子不能下载。任何想法如何发生这种情况?

+0

你可以发布一些maven的输出吗? “无法下载”究竟意味着什么,它是否说该工件找不到或者给你一个错误? – 2010-06-11 02:30:16

+0

对不起。创建的文件是[JAR_NAME] .jar.lastUpdated。 我在命令行运行mvn包。输出不是很有帮助。它告诉的是生成失败,瓶子被遗漏,我可以手动安装这些漏瓶。但它没有告诉我为什么这些罐子没有被下载。 我删除了这些.lastUpdated文件并再次在M2Eclipse中运行“更新依赖”,它工作正常。看来.lastUpdated文件造成了这个问题...... – DeepNightTwo 2010-06-11 03:18:54

回答

2

首先,“lastupdated”文件的存在是无关紧要的。我们需要知道调试输出(mvn -X dependency:tree)。然后你提到你正在使用资源库管理器并镜像每一个请求 - 所以根据这个guide设置settings.xml。如果您只是指定了具有存储库管理器位置的镜像元素以及您想要代理的存储库(URL)(没有启用配置文件,这实际上改变了获取快照的策略),您可能会在您的“中央存储库已禁用”消息调试日志。修复后,它应该可以工作。

编辑:您始终可以使用maven settings.xml http://hostname/nexus/content/groups/public中的组信息库的URL,以及像“org/apache/maven/someartifact/maven-metadata.xml”这样的工件的路径,并查看nexus是否可以代理请求并提供您想要的内容。如果这有效,那么原因必须是maven设置或pom定义。

+0

感谢您的详细步骤。我发现这是Maven3/M2Eclipse的一个bug。我给Maven提供了进度监视器,Maven在非UI线程中更新了进度监视器。它打破了线程和jar下载停止。 – DeepNightTwo 2010-06-15 06:46:00

1

我有同样的问题。不知道一个'真正的'解决方案,但是当有什么不工作时,我会扫描我的本地仓库中的.lastUpdated文件并删除它们。然后事情通常再次工作。 (我认为这可能是由于配置错误,但不幸的是我无法访问nexus配置)

+0

到底。目前我的解决方法是删除这些.jar.lastupdated文件。 – DeepNightTwo 2010-06-12 15:54:50

+0

我得到“无法传递神器org.apache.maven.doxia:doxia-sink-api:jar:1.0-alpha-7 from/to central(http://repo1.maven.org/maven2):拒绝访问http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar。错误代码407 ,需要代理身份验证“,这很奇怪,因为我的代理不需要身份验证。删除* .lastUpdated文件虽然为我修复了,所以谢谢! – 2011-07-14 10:56:12