我跑成的杀了我所有的头发行家问题。

所以在一开始我所有的Maven项目工作正常。然后当我到一个新的电脑开通了,并试图编译它们。

我从Eclipse中看到的第一个错误是从本地仓库IO错误读数的jar文件。然后,我一派,有人建议这是一些损坏的文件,只需删除他们,让行家重建存储库。

这解决了一段时间的问题。然后它一直一次又一次弹出。

我累了,并取出全部本地库一遍所做的一切。然后我发现的原因:

  

在行家远程存储库是坏的。

因此,这里的控制台消息的一部分。

[INFO] Unable to find resource 'org.apache.ws.commons.axiom:axiom-dom:jar:1.2.8'
 in repository eclipse-repo (http://repo1.maven.org/eclipse)
Downloading: https://maven-repository.dev.java.net/nonav/repository//org.apache.
ws.commons.axiom/jars/axiom-dom-1.2.8.jar
373b downloaded  (axiom-dom-1.2.8.jar)
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '2c6102c2c3
70e0b993e897e981618ed448651147'; remote = ' 

The file contains an http redirect.

301 Moved Permanently

Moved Permanently

The document has moved here.


Apache Server at maven-repository.dev.java.net Port 443

我卡住。我怎样才能得到真正的依赖罐子?我怎么能告诉Maven来避免这种情况?这实在是烦人。

有帮助吗?

解决方案

有在行家错误的王,只是因为行家不会跳过服用的伪影,如果一个 行家回购的发送301(PERMANANTLY移动)和它简单地采取该消息,并将其写入作为POM文件。如果简单的Maven的回购发送404它跳过回购,去另一个,但在这里有301只是转储消息作为POM文件,后来这failes。

我假设你使用Maven 2.2.1?如果是尝试,降级到2.2.0的Maven或使用额外的设置。在2.2.1在车皮实现更改。

  

的Maven 2.2.1旨在纠正有关HttpClient的基于货车实现的选择用于在Maven的2.2.0 HTTP / HTTPS传送几个关键消退。新版本将恢复这一选择,复原孙基 - 或轻 - 旅行车实现作为默认这种流量

     

然而,Maven的2.2.1更进了一步,以提供选择的一个装置,该装置提供者 - 或实施 - 用户希望用于特定传输协议

所以,尽量运行行家用额外PARAMS。

mvn -Dmaven.wagon.provider.http=httpclient clean install

其他提示

一个答案:避免dev.java.net。它经常被打破以某种方式或其他。如果你从那里需要的东西,在本地仓库管理器进行安装。

我已经看到了这个误差的IntelliJ IDEA 13.1.5和Ubuntu 14.04。

的Maven 2.2?节省了301响应主体作为〜/ .m2目录高速缓存中的jar文件,其生成过程中会导致以后的问题。

我此修复程序是安装Maven 3,说明对Ubuntu 14.04的位置:

HTTP ://www.sysads.co.uk/2014/05/install-apache-maven-3-2-1-ubuntu-14-04/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top