由于CHECKSUM FAILED,我如何处理我的maven构建中缺少的远程资源

时间:2011-06-29 17:22:11

标签: java maven

我注意到maven构建失败了,因为无法下载特定的依赖项。在构建日志中,我收到了很多错误消息:

WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '10c2aa7dfc8577cb32ee654d2cd5b270d478b823'; remote = '<!DOCTYPE' - RETRYING
Downloading: http://maven.glassfish.org/content/groups/public//org/apache/maven/maven-archiver/2.0.1/maven-archiver-2.0.1.pom

如果我检查它试图从中获取的URL,我可以看到这个资源似乎没有被破坏。我猜这是Oracle-Land中的404传递。奇怪的是,如果我查看parent directory,我可以看到该丢失文件的条目,但没有文件大小。

远程服务器显然有问题。这导致我下载的所有工件都包含大量HTML垃圾。删除文件并重新运行只会导致从Oracle下载完全相同的垃圾集。

问题是 - 我该如何解决这个问题?不幸的是,这是一个新项目,我刚刚从黑暗的迷雾中挖掘出来。我的同事都没有在他们的电脑上安装这些组件,否则我只是从他们那里复制。我可以指示maven使用一些替代来源来获取丢失的罐子吗?

1 个答案:

答案 0 :(得分:4)

您可以尝试以下三种选择之一:

如果您可以编辑定义的POM,请删除有问题的存储库声明。这将为需要在项目上开发的每个人解决问题。

覆盖settings.xml中的存储库特定存储库URL。您需要找到定义存储库的POM并记下其名称。你可以使用类似的东西:

<mirror>
  <id>temporary-override</id>
  <url>http://repo1.maven.org/maven2/</url>
  <mirrorOf>ID_OF_REPO</mirrorOf>
</mirror>

如果所有其他方法都失败,则覆盖所有存储库:

<mirror>
  <id>temporary-override</id>
  <url>http://repo1.maven.org/maven2/</url>
  <mirrorOf>*</mirrorOf>
</mirror>

Maven网站提供了一些关于repository mirrors的文档。