SBT,Scala版本不匹配

时间:2017-11-22 06:40:28

标签: scala sbt version mismatch

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

当我创建一个目录并在该目录中键入sbt并打开sbt提示符时。在 SBT提示内,当我选中 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 中有关于此错误的一些问题,但我没有得到确切答案,这就是我提出新问题的原因。

2 个答案:

答案 0 :(得分:2)

SBT中项目的Scala版本与您已安装并从命令行可用的版本完全无关。出于以下几个原因,这是一件非常好的事情:

  1. 根据他们安装的Scala版本,每个构建项目的人都不会得到不同的结果。

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

  3. 许多项目应使用多个 Scala版本构建,请参阅Boolean.TryParse()

  4. 如果您要创建新项目,则应在此项目的scalaVersion := "2.11.8"中指定build.sbt(或您想要的任何其他内容)。

答案 1 :(得分:0)

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

您的解决方案是查找通常位于global.sbt

~/.sbt/<version>/global.sbt文件

并添加以下行

scalaVersion := "2.11.8"

你的问题应该解决。