如何手动更新Maven索引?

时间:2012-05-02 08:03:54

标签: eclipse maven

我有这个问题:

当我启动Eclipse (使用Maven Integration for Eclipse的Indigo Service Release 1)时,它正在尝试从Maven存储库下载文件:

repo1.maven.org/maven2/.index/nexus-maven-repository-index.gz

它达到约10-20%(这需要loooong)然后显然它放弃了:

02.05.12 08:47:36 MESZ: Updating index central|http://repo1.maven.org/maven2
02.05.12 09:09:25 MESZ: Unable to update index for central|http://repo1.maven.org/maven2

现在我尝试手动下载这个gz文件,因为我认为,下载会在Eclipse中发生任何超时。现在我还有另外两个问题:

  1. 在9,6 MB之后直接下载48,7 MB-gz文件。我不知道为什么。
  2. 如果我能够下载gz文件,我不知道如何“把它放入”Eclipse / Maven或告诉Maven在我的PC上使用该文件而不是存储库repo1.maven.org
  3. 任何有用的想法或答案?

4 个答案:

答案 0 :(得分:10)

  1. .m2/repository/.cache/m2e删除缓存。
  2. 打开你的日食
  3. 菜单Windows>偏好> Maven>用户设置>更新设置
  4. Eclipse会再次下载它,现在应该可以正常工作。

答案 1 :(得分:7)

尝试更改超时设置,如here所述。我不知道哪个设置负责存储库索引更新,你必须尝试一下......

-Dsun.net.client.defaultReadTimeout=60000
-Dorg.eclipse.ecf.provider.filetransfer.retrieve.readTimeout=60000

您应该考虑在启动时禁用索引更新(禁用:Preferences -> Maven -> Download repository index updates on startup),并且只能使用中央存储库上的上下文菜单在Maven存储库视图中手动更新。

答案 2 :(得分:2)

嗯,这可能有点复杂,但它对我有用:

  • 首先我使用 wget -c 下载nexus-maven-repository-index.gz;我带了大约10次重试和一个小时;您可以使用任何您喜欢的下载管理器
  • 其次,安装了Fiddler
  • 然后使用Fiddler详细信息更新了本地maven settings.xml 中的<proxy>配置
  • 在Fiddler中启用断点
  • 当Eclipse要求nexus-maven-repository-index.gz使用Fiddler功能替换带有下载文件的响应时

答案 3 :(得分:2)

更激烈的方式:删除整个.metadata文件夹。稍后从他们的地方导入项目或从svn签出(如果你使用的话)。这并不复杂,但它有所帮助。问题是我们并不真正知道什么元数据被破坏,所以下一步自然就是删除所有元数据。我认为,在重新安装Eclipse +插件之前,这是最彻底的清理。