Есть похожий вопрос здесь , но это решение не работает в sbt v1.x
В сборке sbt хорошо документировано, как исключить зависимости при добавлении через libraryDependencies
:
libraryDependencies += "log4j" % "log4j" % "1.2.15" exclude("javax.jms", "jms")
или предотвращение переходных зависимостей:
libraryDependencies += "org.apache.felix" % "org.apache.felix.framework" % "1.8.0" intransitive()
, но мой вопрос в том, как (и если) это можно сделать при объявлении dependsOn
зависимостей подмодулей в многомодульномпроект, подобный этому:
lazy val core = project.dependsOn(util)
Как бы я сделал что-то подобное (неверный код в примере ниже), чтобы предотвратить ввод транзитивной зависимости через util
:
lazy val core = project.dependsOn(util exclude("javax.jms", "jms"))
также, как и, что более важно, как исключить транзитивную зависимость от другого подмодуля в многомодульном проекте от доставки через util
(где sub3
- другой проект подмодуля, объявленный в том же build.sbt):
lazy val core = project.dependsOn(util exclude sub3)