我的dependencyManagement部分有很多依赖项的漂亮BOM,我想创建另一个BOM ,导入所有依赖项除了一个。我试过这样做:
... in my dependencyManagement section
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot-version}</version>
<type>pom</type>
<scope>import</scope>
<exclusions>
<exclusion>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</exclusion>
</exclusions>
</dependency>
...
POM正式正确,一切都在编译。 但排除被忽略了。我错过了什么?这种方法是否正确?
我正在使用Maven 3 +。
答案 0 :(得分:3)
导入时的排除无效,请尝试将其从依赖项的实际用户中排除
答案 1 :(得分:2)
从当前的maven 3.6.3开始,仍然没有为dependencyManagement实现排除项。但是,您可以将特定于项目的“物料清单”(BOM)作为dependencyManagement部分中的第一个依赖项,即
<dependencyManagement>
<dependencies>
<dependency>
<groupId>my-group</groupId>
<artifactId>my-group-project-bom</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<type>pom</type>
<version>${spring-boot.version}</version>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
然后您可以在项目BOM中指定所有必需的工件版本,这些版本将优先于spring-boot依赖版本。