Maven排除依赖 exclusions

排除依赖 exclusions
间接依赖是可以通过传递性依赖机制引入到当前项目中,而有时候第三方组件B的C依赖由于版本(1.0)过低存在安全漏洞。我们期望能够将该间接依赖直接剔除出去,不通过传递依赖的形式引入到项目中。这时即可通过exclusions元素实现,该元素下可以包含若干个 exclusions 子元素,然后再在POM中显式地引入合适版本(3.3)的C依赖

值得一提的是,在exclusion元素中,只需给定groupId、artifactId即可确定依赖,而无需指定版本version。POM实例如下:

<dependencies>
    ...       
    <dependency>
        <groupId>com.apple</groupId>
        <artifactId>B</artifactId>
        <version>2.3</version>
        <exclusions>
            <exclusion>
                <groupId>com.google</groupId>
                <artifactId>C</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    ...   
    <dependency>
        <groupId>com.google</groupId>
        <artifactId>C</artifactId>
        <version>3.3</version>        
    </dependency>
    ...
</dependencies>

参考:https://blog.csdn.net/weixin_39804629/article/details/112179503