【问题标题】:SBT, Scala version mismatchSBT、Scala 版本不匹配
【发布时间】:2017-11-22 16:32:30
【问题描述】:

我已经安装了Scala 2.11.8版本,我也安装了SBT 0.13.12版本。

当我创建一个目录并在该目录中键入 sbt 并打开 sbt 提示符时。在 SBT prompt 中,当我检查 libraryDependencies 时,我发现如下:

sbt:sparkp> libraryDependencies
[info] * org.scala-lang:scala-library:2.12.4

但是在机器上,我已经安装了scala 2.11.8 版本,当我检查scala -version时它显示

hadoop@localhost:~$ scala -version
Scala code runner version 2.11.8 -- Copyright 2002-2016, LAMP/EPFL

我在安装 sbt 时是否犯了任何错误?或者我需要在安装后更改任何配置属性?

请帮忙。

注意:stackoverflow 中有一些关于此错误的问题,但我没有得到确切的答案,这就是我提出新问题的原因。

【问题讨论】:

    标签: scala sbt version mismatch


    【解决方案1】:

    在我看来,您获得的 scala 版本是构建 sbt 的版本。

    您的解决方案是找到global.sbt 文件,该文件通常位于~/.sbt/<version>/global.sbt

    并添加以下行

    scalaVersion := "2.11.8"
    

    你的问题应该解决了。

    【讨论】:

      【解决方案2】:

      SBT 中项目的 Scala 版本与您已安装且可从命令行获得的版本完全无关。这是一件非常好的事情,有几个原因:

      1. 每个构建项目的人都不会得到不同的结果,具体取决于他们安装的 Scala 版本。

      2. 您无需安装多个 Scala 版本并一直在它们之间切换以处理多个项目。

      3. 许多项目应该使用多个 Scala 版本构建,请参阅http://www.scala-sbt.org/0.13/docs/Cross-Build.html

      如果你正在创建一个新项目,你应该在这个项目的build.sbt 中指定scalaVersion := "2.11.8"(或任何你想要的)。

      【讨论】:

        猜你喜欢
        • 2016-08-22
        • 2017-06-28
        • 2013-03-22
        • 1970-01-01
        • 1970-01-01
        • 2016-07-19
        • 2015-04-25
        • 2013-07-26
        • 2023-04-04
        相关资源
        最近更新 更多