我已经安装了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版本与您已安装的一个完全无关,并从命令行获得。由于几个原因,这是一件非常好的事情:
-
每个构建项目的人都不会根据安装的Scala版本获得不同的结果。
-
您不需要安装多个Scala版本,并一直在它们之间进行切换即可从事多个项目。
-
应该使用多个 scala版本构建许多项目,请参见http://www.scala-sbt.org/0.13/docs/cross-build.html.
如果您要创建一个新项目,则应在此项目中的build.sbt
中指定scalaVersion := "2.11.8"
(或您想要的任何其他项目)。