【发布时间】:2021-07-26 12:57:34
【问题描述】:
I have a maven project "Project-1". This project uses some dependencies, let's consider jackson databind 2.9.8
Another maven project "Project-2" uses "Project-1" as a dependency.
"Project-3" uses "Project-2" as a dependency.
在“Project-3”中,我使用了使用依赖管理标签的jackson databind 2.10.0。另外,在“Project-1”的pom中“Project-2”的依赖标签下,我添加了jackson databind的exclusion标签。
在“Project-3”的依赖树中,只有一个版本的杰克逊数据绑定得到解决,即 2.10.0
但是,在管道中的安全扫描中,它仍然报告杰克逊数据绑定 2.9.8 的一些安全问题
我不确定这个版本是如何得到解决的,即使它没有在依赖关系树中提及。
我现在正在尝试在“Project-1”中添加排除项。但是,有没有更好的方法在“Project-3”中排除它?
【问题讨论】:
-
看看
mvn dependency:list,看看它是否还在。 -
它也没有显示在依赖项列表中。但是,我又扫了一遍。它在扫描中。
-
那么,扫描仪扫描什么?项目依赖,maven插件依赖?也许扫描器还会扫描排除的依赖项?
-
扫描器扫描 maven 构建的最终 jar。尽管依赖列表没有显示旧版本,但 maven 也以某种方式打包了旧 jar。这就是为什么我试图在 pom 中排除它
-
那么,它出现在 maven 日志中的什么位置?
标签: maven maven-2 pom.xml transitive-dependency