2015-02-11 69 views
1

我使用Eclipse Luna和我有兩個Maven Java項目A和B,其中A取決於B. 我想同時編輯它們(並受益於Eclipse的重構功能等) 。 什麼是最好的設置?與依賴Maven項目的最佳Eclipse(月神)設置

我目前使用下面的設置有一些缺點,如下所述。

我先建項目B和安裝它,並生成一個Eclipse項目

# cd B 
B # mvn package install 
B # mvn eclipse:eclipse 

我再建一個,並生成一個Eclipse項目:

# cd ../A 
A # mvn package 
A # mvn eclipse:eclipse 

我現在可以兩個項目導入到Eclipse 。 我的問題是,A現在使用安裝的B版本,而不是當前在Eclipse中打開的版本。 也就是說,在每次更新到B後,我必須爲B執行mvn install,並且(顯然)爲A執行mvn eclipse:eclipse以查看Eclipse中反映的對B的更改。

有沒有更好的方法?

回答

0

我覺得你的問題是,日食:日食生成文件的.classpath在每個依存性的類路徑條目像

<classpathentry kind="var" path="M2_REPO/com/google/guava/guava/18.0/guava-18.0.jar"/> 

代替

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/> 

我不知道哪個目標做得更好,但是當您使用eclipse的導入嚮導導入maven項目時,.classpath文件將使用MAVEN2_CLASSPATH_CONTAINER進行配置。

您需要插件http://eclipse.org/m2e/才能使用動態依賴關係管理。

0

屬性項目A,去Java構建路徑,並在選項卡中刪除,以M2_REPO/path/to/B-version.jar參考。然後,在項目選項卡中,添加對項目B的引用。

注意,如果這些是一個主模塊的兩個模塊(即你有兩個AB<modules>節一pom.xml),那麼mvn eclipse:eclipse將是父模塊調用時自動執行此操作。