sbt如何选择使用哪个Scala版本?

sbt如何选择使用哪个Scala版本?,scala,sbt,Scala,Sbt,我的sbt构建中有多个项目。我正试图从2.9.1升级到Scala 2.10,所以在build.sbt文件中 scalaVersion := "2.10.0" 这似乎有效,因为在我的sbt顶级项目中,我得到: > scala-version [info] 2.10.0 但是,当我切换到其他项目之一时: > project web-client [info] Set current project to web-client (in build file:/C:/Users/..

我的sbt构建中有多个项目。我正试图从2.9.1升级到Scala 2.10,所以在build.sbt文件中

scalaVersion := "2.10.0"
这似乎有效,因为在我的sbt顶级项目中,我得到:

> scala-version
[info] 2.10.0  
但是,当我切换到其他项目之一时:

> project web-client
[info] Set current project to web-client (in build file:/C:/Users/...
[web-client] $ scala-version
[info] 2.9.1  

您可以看到版本现在已更改回2.9.1!如何强制在所有项目中使用相同的Scala版本?

SBT有一个默认的Scala版本。如果希望更改,则需要将
scalaVersion
设置添加到所有子项目。最常见的方法是通过
project/Build.scala

在根级别为所有项目添加一个“common settings”值。我发现,将scala的范围限定为该构建将为所有子项目设置它。细节如下:在底部,但下面是它所说的:

要仅设置一次,只需在主build.sbt文件中写入以下行即可:

scalaVersion in ThisBuild := "2.10.0"

我可以更改SBT的默认Scala版本吗?另外,如果我在plugins.SBT文件中指定scalaVersion,它将应用于哪个项目?他刚才不是说过如何在所有项目中使用相同的版本吗?我认为他的回答是指指定一个版本设置,并且所有项目定义都引用了相同的版本设置。