SBT,Scala版本不匹配



我已经安装了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 中有一些有关此错误的问题,但是我没有得到确切的答案,这就是为什么我要问新问题。

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

您的解决方案是查找通常在~/.sbt/<version>/global.sbt

中的global.sbt文件

并添加以下行

scalaVersion := "2.11.8"

应该解决您的问题。

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"(或您想要的任何其他项目)。

相关内容

  • 没有找到相关文章

最新更新