项目A依赖于项目B,但是由于一些原因,不想引入传递性依赖C,而是自己显式地声明对于项目C1.1.0版本的依赖。代码中使用exclusions元素声明排除依赖,exclusions可以包含一个或者多个exclusion子元素,因此可以排除一个或者多个传递性依赖。需要注意的是,声明exclusion的时候只需要groupId和artifactId,而不需要version元素,这是因为只需要groupId和artifactId就能唯一定位依赖图中的某个依赖。
<project> <modelVersion>4.0.0</modelVersion> <groupId>com.wangsy.mvn</groupId> <artifactId>project-a</artifactId> <version>1.0.0</version> <dependencies> <dependency> <groupId>com.wangsy.mvn</groupId> <artifactId> project-b</artifactId> <version>1.0.0</version> <exclusions> <exclusion> <groupId>com.wangsy.mvn</groupId> <artifactId> project-c</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.wangsy.mvn</groupId> <artifactId> project-c</artifactId> <version>1.1.0</version> </dependency> <dependencies> </project>