2012-09-27 166 views
3

我最近將Eclipse升級到了Juno,並且一直在處理maven依賴關係的方式。在Juno Eclipse中設置maven項目

我安裝了m2e插件。儘管如此,我的許多項目開始抱怨圖書館缺失,好像在pom中指定的依賴關係完全被忽略。發生這種情況時,儘管右鍵單擊該項目,選擇配置 - >轉換爲Maven項目,這似乎是以前的「Maven - >啓用依賴關係」的替代品。當我查看項目目錄下的Maven依賴關係時,列出的依賴關係比我的pom少很多。

在Eclipse之外的命令行上運行maven編譯允許我的項目構建,並且在選擇Maven - > Update項目後,我能夠看到相應的添加或刪除依賴於我在pom.xml中指定的內容。

底線:Maven依賴似乎現在的工作,但我不得不這樣做業務本來應該需要我沒想到的某種組合:
- 配置 - >轉換爲Maven項目
- Maven的 - >更新的依賴在Eclipse以前的版本中,爲了讓所有的工作都能夠正常工作,我只需要Maven - > enable dependencies。 Juno中的這一點相當於什麼,即設置Juno Eclipse來正確處理Maven項目的正確方法是什麼?

回答

3

我一直在使用朱諾有一段時間了,並導入是基於Maven的項目之後,從Eclipse解決Maven依賴可靠的方法就是:

  1. 配置 - >轉換爲Maven項目

  2. 的Maven - >更新項目

Eclipse之外運行Maven似乎並沒有幫助。

我不知道爲什麼現在需要這兩個步驟時,他們以前沒有以前的版本的Eclipse(至少,以前不需要兩個步驟)。

運行

mvn -Declipse.workspace=<path-to-eclipse-workspace> eclipse:add-maven-repo 

以外的Eclipse給我帶來了我在我的評論描述對方的回答的問題。

2

Eclipse需要知道本地maven存儲庫的路徑。因此必須設置類路徑變量M2_REPO。執行以下命令:

mvn -Declipse.workspace=<path-to-eclipse-workspace> eclipse:add-maven-repo 

您還可以定義在Eclipse中一個新的classpath變量:從菜單欄中選擇Window > Preferences. Select the Java > Build Path > Classpath Variables頁。

要包括的依賴在Eclipse中,執行以下命令

mvn eclipse:eclipse 

在Eclipse和一切刷新你的項目應該是不錯的

希望幫助!

+0

我想你的意思是在你的第一個建議中?無論如何,我在Classpath Variables下檢查,M2_REPO已經正確設置並標記爲不可修改。然而,環顧偏好,我看到一個複選框下的「不要自動更新遠程存儲庫的依賴關係」下面的選項。我想知道這是否解釋了我所看到的一些神祕行爲。 – Lolo

+0

不,我不是指我的意思是我提到的「add-maven-repo」 – Anshu

+0

運行mvn eclipse:eclipse實際上導致類似於http:// stackoverflow中描述的問題。 COM /問題/ 10564684 /如何對修復錯誤更新管理Maven的項目不支持,iclasspathentry實物-4。我很感謝你的幫助,但我會繼續解決這個問題,直到我明白我造成我描述的問題。 – Lolo