排除依赖 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