如何在传递依赖中排除传递依赖?

时间:2021-05-04 07:19:55

标签: maven maven-2 pom.xml transitive-dependency

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的排除标签。

在“Project-3”的依赖树中,只有一个版本的jackson databind得到解决,即2.10.0

但是,在管道中的安全扫描中,它仍然报告 jackson databind 2.9.8 的一些安全问题

我不确定这个版本是如何得到解决的,即使它没有在依赖树中提到。

我现在正在尝试在“Project-1”中添加排除项。但是,有没有更好的方法可以在“Project-3”中排除它?

1 个答案:

答案 0 :(得分:0)

似乎依赖项“jackson databind”不是由 Maven 拉取的,因此他们无法在 Maven 中排除它。

这可能是您运行的 Maven 插件的依赖项,您可以尝试通过使用调试标志 -X 运行 Maven 来找出这一点。那么您可能需要删除该插件。

也可能是这样,您的“扫描器”不仅扫描项目的依赖项,还扫描其他内容。也许这是扫描仪中的一个错误,因此也扫描了排除的工件。