Как исключить транзитивную зависимость времени выполнения в Gradle - PullRequest
1 голос
/ 21 февраля 2020

У меня есть зависимость, которая транзитивно включает зависимость времени выполнения org.springframework.boot:spring-boot-starter-log4j2, которую я хочу исключить.

Я пробовал:

dependencies {
    "implementation" ("com.meanwhileinhell.common:my-lib:${commonVersion}") {
        exclude("org.springframework.boot:spring-boot-starter-log4j2")
    }
}

и

dependencies {
    configurations {
        all {
            exclude("org.springframework.boot:spring-boot-starter-log4j2")
        }
    }
}

а также, перемещая configurations {... из блока зависимостей.

Первое, по-видимому, исключает зависимость compile, но зависимость runtime все еще сохраняется.

Как сделать Я полностью удалил эту зависимость?

РЕДАКТИРОВАТЬ ----------------

Мне удалось найти немного кувалдой подход, который работал для меня в этом случае, но не отличное, долгосрочное решение. Это остановит Gradle от разрешения любых транзитивных зависимостей для зависимости.

dependencies {
    "implementation" ("com.meanwhileinhell.common:my-lib:${commonVersion}") {
        isTransitive = false
    }
}
...