2012-06-13 34 views
1

我正在使用Eclipse Indigo + m2eclipse。Eclipse + m2eclipse:一個項目取決於另一個,無需運行「mvn install」

我的工作空間中有兩個項目,projectA在其POM.xml中聲明Maven依賴項到projectB。

我希望能夠對projectB進行更改,並且無需在此projectB上運行「mvn install」,在運行projectA時能夠看到更改!

我有屬性/ Maven /解決從Workspace項目的依賴關係在兩個項目上都檢查了。它不起作用。我一直有做一個關於項目B「MVN安裝」(和潛在了projectA一「的Maven /更新依賴......」對於要看到的變化

我的依賴性項目B,中了projectA的POM是:

<dependency> 
     <groupId>com.xxxx</groupId> 
     <artifactId>projectB</artifactId> 
     <version>0.7-SNAPSHOT</version> 
    </dependency> 

的的groupId,artifactId和version匹配在項目B的POM找到。

我讀到的一切我可以在互聯網上找到沒有成功!

任何想法?

UPDATE:我不知道這個信息是否有幫助,但我也有一個projectC在我的工作區,這也取決於projectB。並且項目A取決於項目C:

projectA -> depends on -> projectB 
projectC -> depends on -> projectB 
projectA -> depends on -> projectC 

projectA和projectC都使用完全相同版本的projectB工件。我嘗試將projectA的POM中的傳遞依賴排除在projectB之外,因此只使用直接依賴:它沒有改變任何東西。

+0

順便問一下,你有一個包含所有三個模塊A,B和C項目中的父POM? –

+0

donsenior,不,我沒有父母。項目依賴需要使用m2eclipse嗎? – electrotype

+0

我不確定,但我認爲它是必需的,所以插件知道你的反應堆的項目是什麼。你可以嘗試讓我知道:)創建父項目非常簡單。見[這裏](http://maven.apache.org/guides/mini/guide-ide-eclipse.html#Multiple_Module_Project) –

回答

0

嘗試使用「更新項目配置」功能。另外,您可以運行mvn eclipse:eclipse,默認情況下,插件會將您的項目配置爲使用子項目引用,而不是安裝的軟件包引用。

+0

我不想運行「mvn install」,「更新依賴項」或「更新項目配置「每次我改變projectB!我很確定m2eclipse應該使Maven項目(在同一個工作區中打開)在沒有任何特殊命令的情況下一起工作! – electrotype

+0

不,您必須運行一次,以便插件將您的項目添加到構建路徑(Eclipse/Java構建路徑/項目)中,然後當您對依賴項目進行更改時,不必編譯/安裝任何內容,導致您的依賴項配置爲「項目」而不是「庫」。 –

相關問題