目录
背景
Log4j-core依赖包的安全问题,把供应链的安全推向高潮。添加修复版的依赖包就会导致间接依赖的发生,遇到相同的依赖时maven是如何抉择的,基于此问题作了一个整理。
依赖标签
<groupId> : com.alibaba 一般是公司的名称
<artifactId> : fastjson 项目名称
<version> : 1.2.24 版本号
<dependencies>
直接引入具体的依赖信息。注意是不在<dependencyManagement>标签内的情况。如果是在<dependencyManagement>内的情况,请参考2号标签。
<dependencyManagement>
只声明但不发生实际引入,作为依赖管理。依赖管理是指真正发生依赖的时候,再去参考依赖管理的数据。这样使用dependency的时候,可以缺省version。另外<dependencyManagement> 还可以管控所有的间接依赖,即使间接依赖声明了version,也要被覆盖掉。
<parent>
声明自己的父亲,Maven的继承跟Java类似,Maven本身也是用Ja
本文详细介绍了Maven的依赖管理,包括依赖标签、作用域、仲裁机制以及如何处理间接依赖。通过多个示例解释了不同场景下依赖版本的选择,并提到了在SpringBoot项目中的打包策略和安全视角下避免间接依赖的方法。最后列举了一些常用的Maven分析命令用于查看依赖树和有效POM。
订阅专栏 解锁全文
1821

被折叠的 条评论
为什么被折叠?



