Java 如何替换maven项目中的可传递依赖项库

Java 如何替换maven项目中的可传递依赖项库,java,maven,Java,Maven,我有一个依赖项库,它被我在POM中包含的库拉入。 安全扫描已将此可传递依赖项标记为操作风险,并要求将其升级到最新版本。我需要了解如何做到这一点? 我试图从POM中排除该库,然后在同一个可传递依赖项的最新版本上声明一个直接依赖项,但我得到了classNotFound异常 代码细化:- 直接依赖->休眠内核 已标记的可传递依赖项->ANTLR 2.7.7 我尝试的失败修复-> <dependency> <groupId>org.hibernate<

我有一个依赖项库,它被我在POM中包含的库拉入。 安全扫描已将此可传递依赖项标记为操作风险,并要求将其升级到最新版本。我需要了解如何做到这一点? 我试图从POM中排除该库,然后在同一个可传递依赖项的最新版本上声明一个直接依赖项,但我得到了classNotFound异常

代码细化:- 直接依赖->休眠内核 已标记的可传递依赖项->ANTLR 2.7.7

我尝试的失败修复->

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.4.18.Final</version>
        <exclusions>
            <exclusion>
                <groupId>antlr</groupId>
                <artifactId>antlr</artifactId>
            </exclusion>
        </exclusions> 
    </dependency>
    <dependency>
        <groupId>antlr</groupId>
        <artifactId>antlr</artifactId>
        <version>3.0ea8</version>
    </dependency>

org.hibernate
冬眠核心
5.4.18.最终版本
antlr
antlr
antlr
antlr
3.0ea8

请建议替换可传递库的通用方法。

无需排除。您可以覆盖
中的可传递依赖项,如:


antlr
antlr
3.0ea8
...
这将用指定的版本覆盖库的所有可传递引用


但这并不能保护您免受
classNotFound
异常的影响。如果更新库,类名可能已更改,程序可能会中断。

不需要排除。您可以覆盖
中的可传递依赖项,如:


antlr
antlr
3.0ea8
...
这将用指定的版本覆盖库的所有可传递引用


但这并不能保护您免受
classNotFound
异常的影响。如果更新库,类名可能已更改,程序可能会中断。

@Bala这不是真的,请参阅我的答案。我不知道它会。我会努力的。谢谢@JF@Bala这不是真的,看我的答案。我不知道它是真的。我会努力的。谢谢@JF