sbt使用错误的scala版本,而不是使用build.sbt中的配置

Dic*_*ick 4 scala sbt

我把它们放在当前项目根目录下的build.sbt文件中

scalaHome := Some(file("/Users/ddam/scala-2.10.2"))

scalaVersion := "2.10.2"
Run Code Online (Sandbox Code Playgroud)

然后我跑了sbt

$ sbt --version
sbt launcher version 0.12.4
Run Code Online (Sandbox Code Playgroud)

但是,当某个特定的依赖关系无法解决时,我看到sbt和scala的错误版本

[warn]  Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]      com.typesafe.sbteclipse:sbteclipse-plugin:2.4.0 (sbtVersion=0.12, scalaVersion=2.9.2)
Run Code Online (Sandbox Code Playgroud)

请帮我.

emc*_*sen 5

看起来sbteclipse需要SBT 0.13.0,而你使用的是版本0.12.4.您可以按照此页面上的说明指定SBT版本.

其他一些注意事项:您可能希望使用Scala 2.10.3,而不是2.10.2.

另外,指定是很奇怪的scalaHome; 通常SBT会自动为您取得所需的Scala罐子.因此,要引导Scala环境,您需要安装的所有内容都是SBT和JDK.

编辑:(解决下面的评论):当您使用SBT构建代码时,您实际上可能使用两个不同版本的Scala.有SBT版本(运行构建系统的Scala版本),以及项目代码的版本(您的代码将在哪个版本的Scala上运行).

SBT的Scala版本由您使用的SBT版本决定.如果使用0.12.4,SBT将在Scala 2.9.3上运行.如果使用0.13.0,SBT将在Scala 2.10.3上运行.您可以按照这些说明控制SBT版本.

为了控制斯卡拉的版本,您的项目将在运行,你可以设置scalaVersion<projectRoot>/build.sbt.

所以,你得到的错误是因为你使用的是SBT 0.12.4,它使用的是Scala 2.9.3.SBT试图找到2.9.3的sbteclipse插件,但它不存在,因为它需要SBT 0.13.0(=> Scala 2.10.3).