Есть простой способ указать исключение глобальной зависимости в SBT
Как бы вы исключали транзитивную зависимость во всем мире? Мой проект зависит от множества библиотек Twitter или от библиотек, которые зависят от библиотек Twitter. Я не хочу slf4j-jdk14
в моем пути к классам, независимо от того, что (я использую logback как slf4j binding).
В настоящее время я делаю это:
"com.twitter" %% "finagle-thriftmux" % "6.16.0" exclude("org.slf4j", "slf4j-jdk14")
но каждый раз, когда кто-то добавляет другую зависимость, которая использует slf4j-jdk14
, я могу вернуть ее в путь к классам.
Ответы
Ответ 1
Для группы зависимостей вы можете сделать это следующим образом:
libraryDependencies ++= Seq(
"com.twitter" %% "finagle-thriftmux" % "6.16.0",
"com.twitter" % "lib" % "2.0",
"com.domain" % "some-other-lib" % "1.0"
).map(_.exclude("org.slf4j", "slf4j-jdk14"))
Ответ 2
excludeDependencies += "org.slf4j" % "slf4j-jdk14"
Ответ 3
libraryDependencies := libraryDependencies.value.map(_.exclude("groupid", "artifactname"))