2013-02-25 106 views
0

我以爲我理解Maven是因爲我已經在使用它的幾個項目上工作過,但我似乎無法用它創建自己的項目,所以有人可以糾正我,無論我哪裏可能出錯。Maven與IDE集成

假設我創建一個新的Maven項目(我們會說我這樣做是通過Eclipse或的IntelliJ):

  1. 如果我添加一個依賴於我的POM文件,假設我添加了一個公共倉庫,其中該依賴關係可以找到,不應該IDE下載指定的JAR,並使它在我的代碼中使用時被識別?目前,我的項目無法識別應通過我的POM依賴項在JAR中找到的任何類。
  2. 假設#1工作,我怎麼能通過maven確定我有哪些瞬態相關性?例如,我使用Pentaho數據集成中的類,其中一些插件引用了org.mozilla.javascript。*之類的東西。 Maven可以自動告訴我,如果我不必運行代碼,看到它失敗,並手動修復依賴關係?這裏會有數百個這樣的實例,所以手動修復確實不可行。
+2

你在用什麼IDE?在eclipse和intellij之間, – 2013-02-25 14:01:11

+0

有點不同。 Intellij更友善。 Eclipse的maven集成是侮辱性的。 – Michael 2013-02-25 14:08:47

回答

2

問題1:添加依賴

在Eclipse中,這取決於你如何創建的項目,你應該能夠添加依賴正在使用maven的上下文菜單中自動識別。

請注意,您應該使用eclipse maven插件創建項目,以便它具有maven特性。

要從遠程存儲庫添加依賴項/插件,如果您知道artifactId或groupId,則可以在生成的UI中搜索依賴項。無論是否在pom.xml中指定了回購網址,該插件都會拉起折扣。

向POM添加依賴項後,只要保存該文件,IDE就會立即開始下載它以及所有臨時依賴項。

如果出現問題,您可以嘗試從上下文菜單中選擇「更新項目」。

問題2:確定傳遞依賴

短暫依賴是在POM編輯器的「依賴層次結構」選項卡中。

我通常默認使用命令行,因爲它在跟蹤dependency graph時允許更多的靈活性和功能。

我很抱歉,但我還沒有的IntelliJ

工作
+0

@AaronDigulla感謝您的評論,不確定您希望我將它添加到答案中,或者您進行編輯? – 2013-02-25 14:44:27

+0

我編輯了你的答案:-) – 2013-02-25 14:45:20

+0

@AaronDigulla完美。謝謝 – 2013-02-25 14:46:06

3

這裏是我的IntelliJ兩分錢:

1 - 添加依賴於你的項目

確實應該下載的pom.xml依賴的jar(s)。您可能需要批准「導入更改」對話框,如果它彈出或啓用自動導入。

2 - 眼看傳遞依賴

它可以通過Maven Dependencies Diagram實現 - 不幸的是只有在的IntelliJ終極版。您可以使用Maven Dependencies Plugin查看您最喜愛的CLI中的依賴關係樹。