2015-11-02 81 views
1

我有兩個maven項目,AB。這些是通用的獨立庫,它們都有一些共同的依賴關係(即C)。在大多數情況下,我需要將AB都導入到我的新項目中。這裏是和示例依賴關係樹爲myNewProjectMaven:如何在兩個分離的maven項目中保持同步版本的同步

myNewProject | 
      |_ A 
      | | 
      | | C -> version 1.2 
      | 
      |_ B 
        | 
        | C -> version 1.2 

有什麼辦法讓C的版本上是相同的AB。請記住這是兩個不同的項目。例如B不是子模塊A

我問這個問題,因爲我不想myNewProject保留兩種不同版本的依賴

回答

5

的在myNewProject,聲明<dependencyManagement>部分,讓孩子們繼承它。來自documentation(也有一個例子):

依賴關係管理部分是集中依賴關係信息的機制。當你有一組繼承公共父項目的項目時,可以將所有關於依賴項的信息放入公共POM中,並且可以更簡單地引用子POM中的項目。通過一些例子可以很好地說明這一機制。鑑於這兩個的POM,擴展了同一父:

在你的父項目的pom.xml

<dependencyManagement> 
    <dependencies> 
    <dependency> 
     <groupId>mygroup</groupId> 
     <artifactId>C</artifactId> 
     <version>1.2</version> 
    </dependency> 
    </dependencies> 
</dependencyManagement> 

然後你不需要在你的孩子的項目指定版本(AB):

<dependencies> 
    <dependency> 
    <groupId>mygroup</groupId> 
    <artifactId>C</artifactId> 
    </dependency> 
</dependencies>