假设项目A 依赖与项目B,项目B依赖项目C。但是由于某些原因我们不想引入项目C和是引入项目C 1.1.0版本的依赖,我们该怎么办呢?
这时候我们就要用到Maven的排除依赖
<project>
<groupId>A</groupId>
<artifactId>projectA</artifactId>
<version>1.0.0</version>
<dependencies>
<dependency>
<groupId>B</groupId>
<artifactId>projectB</artifactId>
<version>1.0.0</version>
<exclusions>
<exclusion>
<groupId>C</groupId>
<artifactId>projectC</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>C</groupId>
<artifactId>projectC</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
</project>
注意exclusion只需要groupId和artifactId,而不需要version,这是因为只需要groupId和artifactId就能唯一定位依赖图中的摸个依赖。换句话说,Maven解析后的依赖中,不可能出现groupId和atrifactId相同,但是version不同的两个依赖。