2010-06-11 31 views
1

我在項目中使用M2Eclipse(0.10.0,Maven 3)。我可以使用m2eclipse添加Maven依賴項。但無法下載依賴關係罐。相反,它在名爲[JAR_Name] .jar.lastupdate的每個本地repo文件夾中創建了一個文件。這個文件的內容有點像: http:// [REPO_URL]/central/= 1276221188566無法下載使用M2Eclipse(0.10.0,使用Maven 3)的罐子

即使使用Maven 3命令行。罐子不能下載。任何想法如何發生這種情況?

+0

你可以發佈一些maven的輸出嗎? 「無法下載」究竟意味着什麼,它是否說該工件找不到或者給你一個錯誤? – 2010-06-11 02:30:16

+0

對不起。創建的文件是[JAR_NAME] .jar.lastUpdated。 我在命令行運行mvn包。輸出不是很有幫助。它告訴的是生成失敗,瓶子被遺漏,我可以手動安裝這些漏瓶。但它沒有告訴我爲什麼這些罐子沒有被下載。 我刪除了這些.lastUpdated文件並再次在M2Eclipse中運行「更新依賴」,它工作正常。看來.lastUpdated文件造成了這個問題...... – DeepNightTwo 2010-06-11 03:18:54

回答

2

首先,「lastupdated」文件的存在是無關緊要的。我們需要知道調試輸出(mvn -X dependency:tree)。然後你提到你正在使用資源庫管理器並鏡像每一個請求 - 所以根據這個guide設置settings.xml。如果您只是指定了具有存儲庫管理器位置的鏡像元素以及您想要代理的存儲庫(URL)(沒有啓用配置文件,這實際上改變了獲取快照的策略),您可能會在您的「中央存儲庫已禁用」消息調試日誌。修復後,它應該可以工作。

編輯:您始終可以使用maven settings.xml http://hostname/nexus/content/groups/public中的組信息庫的URL,以及像「org/apache/maven/someartifact/maven-metadata.xml」這樣的工件的路徑,並查看nexus是否可以代理請求並提供您想要的內容。如果這有效,那麼原因必須是maven設置或pom定義。

+0

感謝您的詳細步驟。我發現這是Maven3/M2Eclipse的一個bug。我給Maven提供了進度監視器,Maven在非UI線程中更新了進度監視器。它打破了線程和jar下載停止。 – DeepNightTwo 2010-06-15 06:46:00

1

我有同樣的問題。不知道一個'真正的'解決方案,但是當有什麼不工作時,我會掃描我的本地倉庫中的.lastUpdated文件並刪除它們。然後事情通常再次工作。 (我認爲這可能是由於配置錯誤,但不幸的是我無法訪問nexus配置)

+0

到底。目前我的解決方法是刪除這些.jar.lastupdated文件。 – DeepNightTwo 2010-06-12 15:54:50

+0

我得到「無法傳遞神器org.apache.maven.doxia:doxia-sink-api:jar:1.0-alpha-7 from/to central(http://repo1.maven.org/maven2):拒絕訪問http://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar。錯誤代碼407 ,需要代理身份驗證「,這很奇怪,因爲我的代理不需要身份驗證。刪除* .lastUpdated文件雖然爲我修復了,所以謝謝! – 2011-07-14 10:56:12