我项目中的一个库是在scala-continuations
上添加依赖项。由于这仅用于我没有使用的库的功能,我想删除依赖项。这可以通过使用:
libraryDependencies += "com.jsuereth" %% "scala-arm" % "1.4" exclude(
"org.scala-lang.plugins", "scala-continuations-library_2.11"
)
这有效,但我不喜欢_2.11
部分。我可以用
excludeAll(ExclusionRule(organization="org.scala-lang.plugins"))
目前没有其他工件存在此组织名称,但它闻起来像我,因为这可能会在未来发生变化。
我可以使用字符串操作从scalaVersion
编写名称:
libraryDependencies += "com.jsuereth" %% "scala-arm" % "1.4" exclude(
"org.scala-lang.plugins", "scala-continuations-library_" + scalaVersion.value.split('.').dropRight(1).mkString(".")
)
是否有一些更短的方法可以做到这一点 - 一些SBT功能或者可能是通配符操作用于排除,或者至少要确定所需的Scala版本后缀?
答案 0 :(得分:1)
SBT包含预定义的密钥scalaBinaryVersion
,可以像这样使用:
libraryDependencies += "com.jsuereth" %% "scala-arm" % "1.4" exclude(
"org.scala-lang.plugins", "scala-continuations-library_" + scalaBinaryVersion.value
)