2011-08-26 35 views
1

我在Eclipse中有幾個項目(都是Maven項目)和一個主要項目(也是Maven項目),這取決於其餘部分。我嘗試通過設置java構建路徑(右鍵單擊項目 - >首選項 - > java構建路徑 - >(選項卡)項目 - >添加)來添加此依賴項。但是執行maven安裝目標時出現問題 - 這是編譯錯誤:...(class)...「無法解析」... - 這絕對看起來像maven沒有看到我的資源從其他項目。 Eclipse只會警告我這樣的事情:「Classpath entry/my-subproject1不會被導出或發佈,運行時可能會導致ClassNotFoundExceptions。」這些警告引用到每個子項目併發生在主項目中。 Eclipse沒有錯誤消息。在我的主項目中,我從子項目中導入類,我可以右鍵單擊其中一個導入並選擇「打開聲明」,並從我的子項目中有一個對類的有效引用 - 所以它看起來像Eclipse看到我的其他項目的依賴關係(構建工作空間時沒有eclipse錯誤 - 只有上面提到的這些警告),但maven在編譯時看不到它們。Eclipse與其他項目的構建路徑

你有什麼想法,我該如何解決這個問題?

感謝您的幫助。

回答

3

您必須在Maven的pom.xml中聲明您的依賴關係。 Maven的不承認任何Eclipse特定的配置(如構建路徑等):Maven Tutorial

如果使用m2eclipse plugin,它會根據你的pom.xml配置來配置你的Eclipse構建路徑

+0

感謝您的回覆。我在我的主項目pom中有這些依賴關係,但仍存在相同的問題:( –

+0

是您的主要項目pom是多模塊構建還是隻是一個常規maven項目?如果是後者,那麼您必須爲自己安裝所有項目至少有一次,以便它們出現在你的本地maven倉庫中 – dunni

+0

所有的項目都是常規的maven項目,我會嘗試你的建議謝謝 –

0

這不是maven問題?

Maven需要從Maven倉庫中的其他項目製作的jar文件。

我對maven eclipse插件瞭解不多,但到目前爲止,在我的觀察中,它似乎就像這樣工作。

因此,這種情況下需要建立其他項目,以便創建它的jar文件。

但這需要很多時間。

+0

我想,當你有maven項目,這取決於你在工作空間導入的其他maven項目 - m2e插件會照顧它。每次更改代碼中的某些內容時,都不必構建依賴關係jar。這適用於我的多模塊Web應用程序配置(如果我更改了模塊中的某些內容 - 當我在Tomcat上運行主Web項目時,我不必重新構建此jar; eclipse會自動執行此操作)。當我轉到我的主要Web項目的屬性時 - 我可以看到,這些模塊是對項目的引用(不是當地m2回購的jar)。 –