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

时间:2010-12-31 05:50:39

标签: 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

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

2 个答案:

答案 0 :(得分: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

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

答案 1 :(得分:6)

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