gpt4 book ai didi

scala - 当我使用sbt来构建一个scala项目时,scala版本的关系是什么?

转载 作者:行者123 更新时间:2023-12-04 03:48:25 25 4
gpt4 key购买 nike

我正在使用SBT 1.x构建一个scala项目(用scala 2.11编写)。有一些“scala版本”使我感到困惑。

SBT 1.x    => scala 2.12   
SBT plugin => scala 2.x
My project => scala 2.11

请帮助我弄清楚它们之间有什么区别或关系,以及SBT在编译或运行项目时如何区分它们?

最佳答案

sbt本身及其插件使用的Scala版本与用于编译项目中代码的Scala版本完全独立。 sbt版本确定它使用的Scala版本:

  • sbt 0.13使用Scala 2.10
  • sbt 1.x使用Scala 2.12

  • 您可以在 project/build.properties中设置此版本,例如:
    sbt.version = 1.1.1

    您要使用的sbt插件必须与给定的sbt版本兼容(许多都与0.13和1.x交叉编译)。

    要设置要用于项目代码的Scala版本,请在 scalaVersion中使用 build.sbt设置:
    scalaVersion := "2.12.4"

    同样,它与sbt版本无关。您还可以交叉编译几个Scala版本的代码:
    scalaVersion := "2.12.4"
    crossScalaVersions := Seq("2.11.12", "2.12.4")

    然后,如果您在sbt中运行 compile,它将使用Scala 2.12.4,如果您运行 +compile,它将首先使用Scala 2.11.12进行编译,然后使用2.12.4进行编译。有关 Cross-building的更多信息,请参见sbt文档。

    关于scala - 当我使用sbt来构建一个scala项目时,scala版本的关系是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49000201/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com