我正在尝试在Ubuntu上为Coursera课程设置Scala,并且我已经按照他们的指示安装了open-jdk 1.8,sbt(sbt关于v1.0.2)和IntelliJ Idea。我已经在 src/main/scala 中设置了一个带有 HelloWorld Scala 工作表的 sbt 项目,它只说"Hello, world",但是当我尝试评估工作表时,我收到错误
内部错误:Scala 实例不存在或无效:版本未知,库 jar:/home/[我的用户名]/.ivy2/cache/jline/jline/jars/jline-2.14.5.jar,编译器 jar:/home/[my username]/.ivy2/cache/org.scala-lang.modules/scala-xml_2.12/bundles/scala-xml_2.12-1.0.6.jar
后跟更长的痕迹。我是否缺少设置步骤?该项目似乎在项目结构依赖项中指向Java v1.8,在"库"选项卡中,我看到SBT设置为Scala v2.12。
我刚刚在macOS Sierra上遇到了同样的问题。在注意到在我的build.sbt中我有:
name := "myScalaTests"
version := "0.1"
scalaVersion := "2.12.4"
但是提示sbt about
,我的Scala版本是不同的。
sbt about
[warn] No sbt.version set in project/build.properties, base directory: /Users/myUser/projects
[info] Set current project to projects (in build file:/Users/myUser/projects/)
[info] This is sbt 1.0.2
[info] The current project is {file:/Users/myUser/projects/}projects 0.1-SNAPSHOT
[info] The current project is built against Scala 2.12.3
[info] Available Plugins: sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.CorePlugin, sbt.plugins.JUnitXmlReportPlugin, sbt.plugins.Giter8TemplatePlugin
[info] sbt, sbt plugins, and build definitions are using Scala 2.12.3
所以我相应地更改了build.sbt中的scala版本,它起作用了。
相同的内部错误可能是由 sbt 启动器和项目 sbt 版本之间的版本不匹配引起的,如下所述:
内部错误:Scala 实例不存在或无效
在我的项目中,没有 scala 版本不匹配,但下载最新的 sbt 启动器并重新启动我的会话解决了这个问题。