我的sbt版本中有多个项目。我正在尝试从2.9.1升级到Scala 2.10,所以在我的build.sbt文件中我放了
scalaVersion := "2.10.0"
这似乎有效,因为在我的顶级项目中,我得到了:
> 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版本?
答案 0 :(得分:22)
我发现将scalaVersion作为范围设定为ThisBuild将为所有子项目设置它。详细信息如下:http://www.scala-sbt.org/release/docs/Getting-Started/Multi-Project.html位于底部,但其内容如下:
要只设置一次,只需在主build.sbt文件中写入以下行:
scalaVersion in ThisBuild := "2.10.0"
答案 1 :(得分:6)
SBT有一个默认的Scala版本。如果要更改它,则需要将scalaVersion
设置添加到所有子项目。最常见的方法是使用“公共设置”值,通过project/Build.scala
添加到根级别的所有项目中。