http://jawsy.blog.51cto.com/752812/544640

项目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>