为什么依赖项排除了gradle中的无效项

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么依赖项排除了gradle中的无效项相关的知识,希望对你有一定的参考价值。

我不使用gradle 6.0.1中的依赖项:

    dependencies {
        api("com.sportswin.misc:soa-misc:+") {
            changing = true
            exclude group: 'redis.clients', module: "jedis"
        }
    }

但是当我使用依赖项命令检查时:

gradle :soa-misc-biz:dependencies --configuration runtimeClasspath|grep -v "(*)"|grep -C 300 "redis.client"

输出显示包含版本2.9.1的jredis,为什么排除jar无效。

答案

您仅从单个依赖项中排除了它。它仍然可以被另一个依赖项拉入。您可以尝试将其从任何地方排除,例如:

// Kotlin DSL
configurations.all {
    exclude(mapOf(
        "group" to "redis.clients",
        "module" to "jedis"
    ))
}

以上是关于为什么依赖项排除了gradle中的无效项的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Kotlin DSL build.gradle 中的所有依赖项中排除库?

Gradle - 排除嵌套的传递依赖

Gradle 依赖项排除后,依赖项仍在类路径上

使用 Gradle 时如何排除传递依赖项的所有实例?

从 Gradle 依赖项中排除 .class 文件

从 springBoots `bootJar` gradle 任务中排除特定依赖项