Ответ 1
SBT recursive, поэтому вам нужно указать версию scala для проекта, которые строят ваш проект. Другими словами, вам нужно добавить соответствующий scalaVersion
в файл plugins.sbt
.
SBT 0.12.2
всегда пытается разрешить подключаемые модули с помощью Scala 2.9.2
при использовании синтаксиса %%
при импорте плагинов.
Я попытался установить более старые версии Scala в build.sbt
, более новые версии и т.д. Даже каждый раз удаляя папку target
... ничего, похоже, не имеет значения.
name := "Game"
version := "1.0"
scalaVersion := "2.9.1" // SBT is ignoring the scala version
SBT recursive, поэтому вам нужно указать версию scala для проекта, которые строят ваш проект. Другими словами, вам нужно добавить соответствующий scalaVersion
в файл plugins.sbt
.
Для всех плагинов в вашем проекте вы устанавливаете scalaVersion
в project/plugins.sbt
файле, который настраивает определение проекта сборки для вашего проекта и где вы определяете плагины.
$ cat project/plugins.sbt
scalaVersion := "2.9.3"
Однако существует возможность настроить более конкретную версию sbt и Scala для плагина.
Вместо использования addSbtPlugin
, который принимает один ModuleID
(построенный с помощью %
и %%
), используйте addSbtPlugin(dependency: ModuleID, sbtVersion: String)
или даже addSbtPlugin(dependency: ModuleID, sbtVersion: String, scalaVersion: String)
, например
$ cat project/plugins.sbt
// It doesn't exist and it only for demo purposes
addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.1.0", "0.12.2", "2.5")