我有几个子pom.xml文件,它们具有相同的依赖关系,但它们只是版本不同。我想使用<dependencyManagement>
从父pom.xml继承它们。示例:
Child1:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
</dependency>
Child2:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>0.9.9</version>
</dependency>
Child3:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.1</version>
</dependency>
有没有办法把他们区分开来,或者就这样离开他们?
发布于 2017-09-19 05:36:09
您可以使用dependencyManagement
在父POM中声明这些依赖项,然后继承该声明并在子POM中覆盖其版本。
因此,给出问题中的示例,如果父POM如下所示:
<dependencyManagement>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.5.1</version>
</dependency>
</dependencyManagement>
那么您的孩子POMs仍然可以声明他们自己版本的com.google.code.gson:gson
。
但是 ..。使用dependencyManagement
的标准好处是..。
“依赖性管理”规定:
..。这种声明依赖项(包括子POM中的版本)的方法使父POM中的dependencyManagement
声明变得无关紧要,也就是说,如果您选择覆盖该解密的每个方面,那么为什么还要声明它。
总之,如果您有一个依赖项,则使用dependencyManagement
,该依赖项在多个子模块中使用,并且您希望为此定义一个通用版本。如果依赖项仅在一个子模块中使用,并且/或您不希望在所有子模块中使用该依赖项的单个版本,那么就不必为该依赖项创建一个dependencyManagement
条目。
https://stackoverflow.com/questions/46300368
复制相似问题