如何更改 sbt 项目的 Scala 版本?
Posted
技术标签:
【中文标题】如何更改 sbt 项目的 Scala 版本?【英文标题】:How to change Scala version for sbt project? 【发布时间】:2011-02-22 16:49:26 【问题描述】:如何在 sbt 项目中更改 Scala 版本?
我希望SBT检查系统的Scala版本是否正确,如果不正确,请下载。
【问题讨论】:
在新的 sbt 1.x 中,在 shell 中:set scalaVersion := "2.13.1"
,或在 build.sbt:scalaVersion := "2.13.1"
。
【参考方案1】:
xsbt(0.10+,包括最新的0.13.7)
将 build.sbt
中的 scalaVersion
更改为您的项目应使用的任何 Scala 版本 - 请参阅 .sbt build definition。
scalaVersion := "2.10.1"
sbt:
如RunningSBT 中所述,您可以:
您可以使用
++<version>
临时切换到另一个版本的 Scala。 此版本不必列在您的build.scala.versions
属性中,但它必须位于存储库中或者是您定义的 local Scala 版本。
但CrossBuild page 更适合您的需求,因为它实际展示了如何更改build.scala.versions
属性。
所以你应该可以
set build.scala.versions 2.7.7
reload
set build.scala.versions 2.8.0.RC2
reload
并且每次触发编译时使用不同的 Scala 版本。
【讨论】:
@sheki:好点。我添加了用于更改用于构建 Scala 项目的 Scala 版本的 xsbt 配置。 @sheki:将我的 build.sbt 视为一个更完整的示例,说明您通常在使用 xsbt 的 Scala 项目中所做的更改:github.com/VonC/xsbt-template/blob/master/build.sbt 一条我发现有用的信息:如果您有一个多项目,您可以在主 .sbt 文件中使用scalaVersion in ThisBuild := "2.10.1"
来传播所有子项目中的设置。
@CristianVrabie 当 scalaVersion
在根项目的 build.sbt
中定义并聚合其他子模块时,它也可以正常工作。你不需要in ThisBuild
。以上是关于如何更改 sbt 项目的 Scala 版本?的主要内容,如果未能解决你的问题,请参考以下文章