2014-03-31 49 views
0

我已經使用Maven在Eclipse中設置了動態Web項目。 Web項目對其他JAR有很多依賴關係。 JAR已正確添加到Maven/Eclipse中的WEB-INF/lib文件夾中。許多JAR雖然是其他普通Java項目的結果。我想不時在Eclipse中使用他們的Java項目代表JAR(但不是全部)。如何快速用Eclipse項目替換Maven Dependency?

那麼如何快速地用Eclipse項目替換正常的Maven Dependency JAR呢?

目前我:

  1. 刪除Maven的依賴(右鍵單擊JAR,Maven的 - > Exlude Maven構件)
  2. 編輯構建路徑,並添加相應的Eclipse項目
  3. 馬克項目也在構建路徑的「導出和訂單」部分中
  4. 編輯部署程序集屬性並在其中添加Eclipse項目(因此它在運行時會進入WEB-INF/lib)。

回答

2

如果您的web項目是一個maven項目(左上角的小「m」),並且您已經安裝了M2E-WTP插件(包含在Keplar JavaEE軟件包中),這會自動發生,依賴項目在工作區中打開,它將成爲項目鏈接,如果關閉,則Web項目將使用該jar文件作爲依賴關係。

+0

怎樣的Eclipse知道哪個項目對應於哪個jar文件?是否有任何命名約定? – schoenk

+1

它使用相應的Maven座標('$ WORKSPACE/.metadata/.plugins/org.eclipse.m2e.core/workspacestate.properties')保存所有項目的列表。但是,我剛剛從您的評論中讀到了另一個答案,即您仍然在使用Maven 1,這已經非常過時,現在的IDE不再支持。所以,我的第一個和最重要的建議是:將您的項目轉換爲Maven 2/3(並請:不要混合maven 1和maven 2項目) – blackbuild

+0

我正在從maven 1轉換到maven 3。相信我的設置會變得更容易。謝謝! – schoenk

0

如果你正在使用M2Eclipse,我想你應該啓用工作區分辨率。 這兩個項目都應該是maven項目。

如果您使用MVN Eclipse插件,確保,他們都有一個pom.xml,並呼籲:

mvn eclipse:clean eclipse:eclipse 
+0

我不知道_Workspace resolution_功能。感謝提示。我會仔細看看的。目前普通的Java項目仍然由Maven 1構建。所以也許這是一個問題。 – schoenk

+0

我是否需要主動打開_Workspace Resolution_?我沒有找到它的設置。 – schoenk

+0

我不確定,但像這樣:在您的maven項目(由M2Eclipse管理)右側的clic> maven>啓用工作區分辨率 – Remi878