scala - relacion - relación de dependencia demográfica
¿Existe una manera sencilla de especificar una exclusión de dependencia global en SBT? (3)
excludeDependencies += "org.slf4j" % "slf4j-jdk14"
¿Cómo excluirías una dependencia transitiva globalmente? Mi proyecto depende de muchas bibliotecas de Twitter o de bibliotecas que dependen de las bibliotecas de Twitter. No quiero slf4j-jdk14
en mi classpath, no importa qué (uso logback como enlace slf4j).
Actualmente hago esto:
"com.twitter" %% "finagle-thriftmux" % "6.16.0" exclude("org.slf4j", "slf4j-jdk14")
pero cada vez que alguien agrega otra dependencia que usa slf4j-jdk14
, podría volver a ingresar en el classpath.
Desde sbt 0.13.8
En sbt 0.13.8 existe la possibility de excluir dependencias globalmente. Aquí hay un ejemplo compacto:
excludeDependencies += "org.slf4j.slf4j-jdk14"
Sin embargo, en el momento de escribir esta característica se marcó como experimental, por lo que es aconsejable estar al tanto de una solución más antigua.
Antes del sbt 0.13.8
Para un grupo de dependencias puedes hacerlo de la siguiente manera:
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"))
libraryDependencies := libraryDependencies.value.map(_.exclude("groupid", "artifactname"))