18

我的 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 版本?

4

2 回答 2

25

我发现将 scalaVersion 限定为 ThisBuild 将为所有子项目设置它。详细信息在这里:http ://www.scala-sbt.org/release/docs/Getting-Started/Multi-Project.html在底部,但它是这样说的:

只需设置一次,在主 build.sbt 文件中写入以下行就足够了:

scalaVersion in ThisBuild := "2.10.0"
于 2013-01-30T04:15:14.627 回答
6

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

于 2013-01-28T22:25:41.473 回答