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