2009-10-28 73 views
5

我在Subversion版本庫中有一個多模塊Maven項目,許多開發人員正在使用Eclipse + M2Eclipse進行工作。現在,如果開發人員添加了一個模塊,其他人需要從命令行執行SVN更新(因爲Eclipse沒有看到Maven項目的通用根目錄),並手動導入新模塊作爲Eclipse項目。在Eclipse中自動導入新的Maven模塊

有沒有辦法自動做到這一點?

我的項目結構如下:

 
Working Copy     Eclipse Workspace 

working copy root -X-> 
+- parent   --->  +- parent 
| \- pom.xml    | \- pom.xml 
+- child1   --->  +- child1 
| \- pom.xml    | \- pom.xml 
+- child2   --->  +- child2 
    \- pom.xml     \- pom.xml 

回答

1

您可以在根目錄的POM,將有父母,child1,的child2等作爲模塊。 SVN更新之後,如果有加入新的模塊,你可以,如果你正在使用TortoiseSVN,你可以設置一個post-update client side hook運行

mvn eclipse:clean eclipse:m2eclipse 

從Eclipse的工具按鈕(調試和運行按鈕的右邊)

,但每個開發者都必須獨立設置它。

+0

我認爲最初的問題是關於Eclipse插件(M2Eclipse),而不是maven-eclipse-plugin。 – 2009-10-28 12:04:38

+0

沒有必要在根上添加一個pom來運行多模塊構建(並且OP使用平面佈局能夠從Eclipse中更新eclipse的父pom.xml)。後udpate客戶端掛鉤是一個想法,但它不會解決整個問題。 – 2009-10-28 13:31:11

0

可能是buckminster項目可以幫助您檢查FAQ。希望它有幫助

0

有沒有辦法自動做到這一點?

要做什麼?爲了避免以Eclipse項目的形式手動導入新模塊? AFAIK,目前還不支持,目前還不支持,你必須手動添加它(儘管如此,應該可以通過編程的方式來完成),對Maven Eclipse插件有這樣的要求 - MECLIPSE-75 - 找不到用於Eclipse的Maven集成)。

那就是說,添加模塊真的發生得這麼頻繁嗎?您的情況可能會有所不同,但根據我的經驗,您將很快達到穩定點,並且添加模塊將變得異常。

儘管如此,良好的團隊溝通是我找到解決這個問題的最佳解決方案。當開發人員添加一個新模塊時,他有責任讓其他團隊成員知道他引入了一個變更並描述了將修改考慮在內的必要步驟。沒有人是無所不知的,沒有人能夠在別人心中讀到,積極的溝通是良好協作的關鍵。

+0

我們即將對產品進行重大重構,因此項目在接下來的幾個月中將會大量進行。有很多開發人員在項目上工作,我不希望每次都停止這些更改。 – 2009-11-03 11:54:42

+0

我在一個項目上遇到過這種情況,有100多位開發人員在地理上分佈,如我所說,溝通是你最好的武器。也就是說,我仍然相信你會比較快地達到一個穩定點。 – 2009-11-03 12:02:33

0

你也可以使用Maven的Eclipse的插件

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-eclipse-plugin</artifactId> 
      <configuration> 
       <wtpversion>2.0</wtpversion> 
       <projectNameTemplate>[artifactId]-[version]</projectNameTemplate> 
      </configuration> 
     </plugin> 

刷新項目從SVN

導入之後,或者您也可以用鼠標右鍵單擊該項目,並單擊「啓用依賴管理」