在我的pom文件中,我有以下内容:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
之所以使用它,是因为该项目已经有一个父pom。
我想删除其某些依赖项,例如:
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>6.4.3</version>
</dependency>
我该怎么做?
答案 0 :(得分:3)
spring-boot-dependencies
不添加任何依赖关系。它主要由一个巨大的<dependencyManagement>
块组成,其中包含多个库的托管版本。这样,您就可以使用已知版本的库,这些库可以与给定版本的Spring boot正常工作。
这意味着您不再需要向定义的每个依赖项中添加<version>
。
这还意味着,如果您对elasticsearch
有依赖性,那么肯定不是来自spring-boot-dependencies
。
如果您的目标是覆盖其中一个版本,则可以通过将<version>
手动添加到依赖项中来实现。
否则,通常可以使用<exclusions>
排除依赖项:
<dependency>
<groupId>com.xyz</groupId>
<artifactId>artifact-abc</artifactId>
<exclusions>
<exclusion>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
</exclusion>
</exclusions>
</dependency>