特别注意:

maven会根据pom文件声明的顺序加载,如果先声明了B,后声明了C那么B的优先级高于C的优先级

MAVEN依赖的优先原则

maven依赖的优先原则
1.依赖最短路径优先原则
一个项目Demo依赖了两个jar包,其中A-B-C-X(1.0) , A-D-X(2.0)。由于X(2.0)路径最短,所以项目使用的是X(2.0)。
2.pom文件中申明顺序优先
如果A-B-X(1.0) ,A-C-X(2.0) 这样的路径长度一样怎么办呢?这样的情况下,maven会根据pom文件声明的顺序加载,如果先声明了B,后声明了C,那就最后的依赖就会是X(1.0)。
3. 覆盖优先原则
子pom内声明的优先于父pom中的依赖。
实际使用
背景:FastJson远程代码执行漏洞,攻击者可以通过提交精心构造的JSON数据实现远程代码执行,造成OOM,项目中使用的fastJson版本1.2.16过低 存在该漏洞,现升级为1.2.56

posted on 2023-03-23 15:24  张释文  阅读(160)  评论(0编辑  收藏  举报