我把它们放在当前项目根目录下的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)
请帮我.
看起来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).