Maven下载已经更新为扩展

我有一个Eclipse的安装与m2eclipse和颠覆。 我已经从svn导入了一个maven2项目。 但是,我得到了一大堆工件丢失的错误消息(例如:缺less工件org.springframework:spring-test:jar:3.0.1.RELEASE:test)。

如果我查看我的存储库,我看到那里的jar文件,但它们有一个额外的扩展名.lastUpdated。 为什么maven追加.last更新到jar子? 更重要的是:我该如何解决这个问题?

没有提到在我的POM中lastUpdated的types。

这些文件向Maven表明,它试图通过下载获得档案,但是不成功。 为了节省带宽,它将不会再次尝试,直到在文件中编码的特定时间段过去。 命令行开关-U强制maven在重试周期之前执行更新。 如果您尝试在与networking断开的情况下进行构build,则这可能是必需的。

删除文件的方法与大多数版本的maven一起工作,但由于文件是maven的内部纪念品,我不会推荐这种方法。 不能保证这些信息不被引用或保存在其他地方,这种操作会损害系统。

正如rperez所说,我用来删除所有这些.lastUpdated文件。 在Linux中,我创build了一个简单的脚本:

 find -name \*.lastUpdated -exec rm -fv {} + 

只要创build一个包含以前内容的文件并将其放在本地Maven存储库中即可。 通常它会是~/.m2/repository

我安装了Maven2并从命令行运行mvn编译。 这似乎解决了这个问题

您可能在从存储库中检索一些工件时遇到问题。 比如spring框架有自己的仓库。 当工件不能完全下载时,这个xtension被附加。 将弹簧框架库添加到您的pom或settings.xml中,删除包含损坏的jar的文件夹并重新开始

如果您遇到此问题,并且您使用的是Nexus,则可能是您定义了路由规则,这是不正确的。 我自己打这个,它下载的文件被正确的命名,在它正在查看的正确的URL上,但是它们都是.lastUpdated扩展名和一个错误信息作为内容。