如何更改sbt使用的Scala版本?

Ash*_*ary 4 scala sbt

启动SBT控制台,它显示:

[info] Building project AYLIEN 1.0 against Scala 2.8.1
[info]    using MyProject with sbt 0.7.4 and Scala 2.7.7
Run Code Online (Sandbox Code Playgroud)

如何使用MyProject和sbt 0.7.4以及Scala 2.8.1?请注意我不会询问用于构建我的项目的Scala版本(它是2.8.1,你可以看到),但我宁愿让sbt使用MyProject和Scala 2.8.1.显然,sbt使用它自己的scala版本来处理项目定义(这里是MyProject),它与实际构建项目所使用的不同!或许我错过了什么......?

oll*_*erg 7

我可以看到你对SBT的关注仍然在内部使用2.7.7,但是自从SBT自己下载该版本以来它并不重要.您不必安装2.7.7或任何东西,只需忘记它并假装您的环境是纯Scala 2.8.

保存SBT版本设置的配置文件是:project/build.properties.内容如下:

project.organization=com.ab.web 
project.name=cool_proj 
sbt.version=0.7.4
project.version=1.0
build.scala.versions=2.8.0
project.initialize=false
Run Code Online (Sandbox Code Playgroud)

当您想要升级到下一个SBT版本时,只需更改0.7.4为该版本,SBT将自行更新.最终SBT将在内部使用其他一些Scala版本,但这对用户来说无关紧要.


Tho*_*ney 6

对于您的项目定义, SBT 0.7.*不适用于Scala 2.8.*.Mark Harrah目前正在研究下一版本的SBT,它将与2.8.*一起使用.这意味着您不能在项目定义或插件中使用Scala 2.7.7之后添加的任何Scala功能或功能.您的项目本身可以免费使用2.8.*.