如何为sbt项目更改Scala版本?

42

我如何在sbt项目中更改Scala版本?

我希望SBT检查系统的Scala版本是否正确,如果不正确,则下载正确版本。


在新的 sbt 1.x 中,在 shell 中:set scalaVersion := "2.13.1",或者在 build.sbt 中:scalaVersion := "2.13.1" - bszwej
1个回答

48

xsbt (0.10+, 包括最新版本0.13.7)

build.sbt中的scalaVersion更改为项目应使用的任何Scala版本-请参阅.sbt build definition

scalaVersion := "2.10.1"

sbt:

如在运行SBT页面所述,您可以:

您可以使用++<version>临时切换到另一个Scala版本。
这个版本不必列在您的build.scala.versions属性中,但它必须在仓库中或者是您定义的本地Scala版本。

交叉编译页面更适合您想要的,因为它演示了如何更改build.scala.versions属性。

所以您应该能够

set build.scala.versions 2.7.7
reload
set build.scala.versions 2.8.0.RC2
reload

每次触发时,使用不同的Scala版本进行编译。


@sheki:说得好。我已经添加了xsbt配置,用于更改构建Scala项目所使用的Scala版本。 - VonC
@sheki:请参考我的build.sbt文件,这是一个更完整的Scala项目示例,您可以在其中进行通常的xsbt更改操作:https://github.com/VonC/xsbt-template/blob/master/build.sbt - VonC
10
一则我发现有用的信息:如果您有一个多项目,可以在主.sbt文件中使用scalaVersion in ThisBuild :=“2.10.1”来将设置传播到所有子项目。 - Cristian Vrabie
当在聚合其他子模块的根项目的build.sbt中定义了“scalaVersion”时,它也会正常工作。你不需要使用“ThisBuild”。 - Jacek Laskowski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接