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

sbt使用了错误的scala版本,而不是使用build.sbt中的配置,scala,sbt,Scala,Sbt,我已经将它们放在当前项目根目录下的build.sbt文件中 scalaHome := Some(file("/Users/ddam/scala-2.10.2")) scalaVersion := "2.10.2" 我使用了sbt $ sbt --version sbt launcher version 0.12.4 但是,当一个特定的依赖关系无法解决时,我仍然看到sbt和scala的版本都是错误的 [warn] Note: Some unresolved dependencies hav

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

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

scalaVersion := "2.10.2"
我使用了sbt

$ sbt --version
sbt launcher version 0.12.4
但是,当一个特定的依赖关系无法解决时,我仍然看到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)
请帮帮我。

看起来像是,您使用的是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版本

要控制项目将运行的Scala版本,可以在
/build.sbt
中设置
scalaVersion

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

您似乎正确指定了使用Scala 2.10.2编译项目


sbt 0.12.4始终使用Scala 2.9.x编译构建文件(即
build.sbt
project/
下的内容)。这意味着sbt 0.12.x的插件也必须针对2.9.x进行编译,这解释了您看到的情况

sbteclipse 2.4.0需要sbt 0.13。如果您想继续使用sbt 0.12.4,请尝试sbteclipse 2.2.0


埃姆克里斯蒂安森的回答还有很多其他要点。

请理解我的问题。:)更清楚地说,我想问的是如何为sbt指定一个特定的scala版本。@Dick,上面的内容有用吗?“sbt 0.12.4总是使用scala 2.9.x来编译构建文件。”真的吗?官方的说法是什么?即使在我下载了sbc 0.13.0并重试之后,它仍然给出了相同的错误。更改后您是否运行了
sbt clean
?您是否在
build.properties
中指定了SBT版本?