2017-06-30 135 views
1

我們在CVS中有一個相對平坦的項目結構,並且在遷移到Git後,由於Git存儲庫如何簽出,我們遇到了一個問題。 CVS存儲庫從來沒有結帳,但在Eclipse上使用Git時,我們看到一個存儲庫文件夾,在該文件夾下籤出項目。這導致我們的Maven腳本出現問題。具有多個 - 具有依賴關係的多個模塊的父POM

新的結構是:

New Folder Structure

我加入了pom.xml文件idmlleancore引用父pom.xml下。 idml以下項目指中間體idml親本pom.xmlleancore參照中間體leancore親本pom.xml

  1. 如何定義2個Multiple Modules項目之間的依賴關係?
  2. 什麼會進入父POM支持這種結構?
  3. AdjHubCore如何參考idml - idmlj2eert中的依賴關係?
  4. 我們想從根父pom.xml文件構建所有模塊和文件。
+0

你確切的意思是「_Dependency between 2 Multiple Modules project_」?聚合器(多模塊)項目不能是依賴關係(因爲他們有' pom'而不是'jar')。基本上,子模塊項目是普通的Maven項目,可以像處理它們一樣獨立處理。您的描述在「idmlj2eert_上的_dependency **」和「** idml - idmlj2eert_中的_dependency **」方面有所不同。這是什麼? –

+0

AdjHubCore依賴於idmlj2eert – Ravi

回答

1

idmlj2eert POM樣子:

... 
    <groupId>idml</groupId> 
    <artifactId>idmlj2eert<artifactId> 
    <version>0.0.1-SNAPSHOT<>version> 
    ... 

然後你AdjHubCore樣子:

... 
    <dependency> 
     <groupId>idml</groupId> 
     <artifactId>idmlj2eert<artifactId> 
     <version>0.0.1-SNAPSHOT<>version> 
    </dependency> 
    ... 

另一種方法是在你的根POM使用<dependencyManagement>,這樣避免了有在子POM中聲明一個依賴版本。那麼你的根POM必須是一個<parent> POM,這個POM可以在多個層次上直接或傳遞,然後是這樣一個孩子POM。

所以,這與任何其他依賴項沒有什麼不同。 Maven Reactor根據構建開始時多模塊項目內部(內部)的依賴關係來照顧正確的構建順序。請記住,聚合(多模塊)和繼承(父/子關係)是不同的事情。一個項目可以使用其中任何一個,也可以同時使用這兩個項目。見POM Reference, Inheritance v. AggregationMaven: The Complete Reference, 3.6.2. Multi-module vs. Inheritance

相關問題