2012-05-02 37 views
17

我有這樣的問題:
如何手動更新Maven索引?

當我啓動Eclipse (Maven的集成爲Eclipse靛藍服務發佈1)它試圖下載從Maven資源庫文件:

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

它達到約10 -20%(這需要過長...),然後它顯然放棄:

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-F因爲我認爲,下載會在Eclipse中發生任何超時。現在我有另外兩個問題:

  1. 直接下載的48.7 MB-gz文件後9,6 MB取消。我不知道爲什麼。
  2. 如果我能夠下載gz文件,我不知道如何「把它放到」Eclipse/Maven中,或者告訴Maven在我的電腦上使用該文件,而不是存儲庫repo1.maven.org 。

任何有幫助的想法或解答?

+1

首先,我會建議使用存儲庫管理器,而不是直接maven中央。比你的eclipse將使用內部存儲庫的索引當然更快。 – khmarbaise

+3

這個'破'索引下載來去。再試一次通常有幫助。 還有一個視圖(窗口 - >顯示視圖 - > Maven存儲庫),您可以在其中重新嘗試或定義回購​​ – wemu

+0

順便說一下,對於[NetBeans](https://netbeans.org/features/index.html) 8個用戶的答案似乎是:*首選項*(或選項)* Java *(標籤)> * Maven *(標籤)> *類別:索引*(列表項目)> *索引現在*按鈕。 –

回答

6
  1. .m2/repository/.cache/m2e刪除緩存。
  2. 打開您的Eclipse
  3. 菜單窗口>首選項>的Maven>用戶設置>更新設置

Eclipse會重新下載,現在應該工作。

2

嗯,這可能是一個有點複雜,但它的工作對我來說:

  • 首先,我用的wget -c下載NEXUS-Maven的存儲庫index.gz;帶了我大約10次重試和一個小時;你可以使用任何下載管理器,你喜歡
  • 二,安裝提琴手
  • 然後更新本地Maven的settings.xml 小提琴手<proxy>配置細節
  • 啓用斷點提琴手
  • 當Eclipse要求NEXUS-行家-repository-index.gz使用Fiddler功能來替代具有下載文件的響應
2

更激烈的方法:刪除整個.metadata文件夾。稍後從他們的地方導入項目或從svn中檢出它們(如果你使用的話)。這並不複雜,但它有幫助。問題是我們並不真正知道什麼元數據會被破壞,所以下一步就是刪除所有元數據。我認爲,在重新安裝Eclipse +插件之前,這是最深入的清理。

6

嘗試更改所述的超時設置,如描述的here。我不知道哪個設置負責存儲庫索引更新,你必須嘗試一下...

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

你應該考慮到在啓動時禁用索引更新(禁用:Preferences -> Maven -> Download repository index updates on startup),只有在Maven資源庫查看使用在中央存儲庫中的上下文菜單中手動更新。