首页 > 解决方案 > 当指定 scalaVersion 和 sbtVersion 通过“extra”解析插件依赖时,不起作用

问题描述

我正在尝试添加这样的插件:

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.11.2" extra ("scalaVersion" -> "2.10", "sbtVersion" ->  "0.13"))

但是当我开始 sbt session 时,搜索路径仍然是

https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0//0.11.2/ivys/ivy.xml

scalaVersion 和 sbtVersion 仍然是我正在使用的。

你能告诉我我该怎么办吗?

谢谢!

标签: pluginssbtsbt-assemblysbt-pluginscala-version-cross-build

解决方案


这就是这样addSbtPlugin做的:它将适当的 scalaVersion 和 sbtVersion 添加到提到的工件(在您的情况下覆盖您手动指定的内容)。

如果您想拥有完全控制权,请不要使用 addSbtPlugin:

libraryDependencies += "com.eed3si9n" % "sbt-assembly" % "0.11.2" extra ("scalaVersion" -> "2.10", "sbtVersion" ->  "0.13")

但请注意,如果您未能添加适合您手头的 SBT 版本的正确属性,通常这种事情将不起作用。

在您的情况下,您显然使用的是 SBT 1.x,而后者又使用 Scala 2.12。尝试使用带有 Scala 2.10 的工件构建,即。对于 SBT 0.13.x,将中断。


推荐阅读