SBT在尝试运行simple时给出java.lang.NullPointerException;你好!&引用;示例脚本

SBT在尝试运行simple时给出java.lang.NullPointerException;你好!&引用;示例脚本,java,linux,scala,sbt,Java,Linux,Scala,Sbt,我第一次尝试Scala,我选择在运行新安装的Ubuntu 14.04LTS的Linux机器上使用SBT 0.13.9 我一直严格遵循SBT网站上给出的说明,现在我正在尝试运行“Hello!”示例脚本,如下所示: object Hi { def main(args: Array[String]) = println("Hi!") } 当我尝试运行时,我得到以下输出: [trace] Stack trace suppressed: run last compile:compileIncreme

我第一次尝试Scala,我选择在运行新安装的Ubuntu 14.04LTS的Linux机器上使用SBT 0.13.9

我一直严格遵循SBT网站上给出的说明,现在我正在尝试运行“Hello!”示例脚本,如下所示:

object Hi {
  def main(args: Array[String]) = println("Hi!")
}
当我尝试运行时,我得到以下输出:

[trace] Stack trace suppressed: run last compile:compileIncremental for the full output.
[error] (compile:compileIncremental) java.lang.NullPointerException
[error] Total time: 1 s, completed 22 Aug 2015, 2:30:09 PM
作为Scala和SBT的新手(也是Linux的新手),我确信我忽略了一些显而易见的东西。不过,谷歌搜索到目前为止还没有找到任何答案


我应该先检查什么?我真的很感激任何人能提供的建议。

我在完全相同的代码段上犯了同样的错误!即scala sbt中的第一个开始

当我卸载Java9SDK并安装Java8SDK时,我的问题得到了解决

为此,我还需要重新安装scala和sbt


这些是我按照命令中的说明安装的,但将命令中的版本号替换为scala-2.11.7.deb和sbt-0.13.9.deb(我的开发机器在ubuntu 14.04上)

“我应该先检查什么?”——“运行最后一次编译:编译增量以获得完整输出。”尝试
sbt clean run
。有时sbt在增量编译方面有问题。检查
last compile:compileIncremental
命令查看详细信息她是一个编译的示例:我必须尝试一下。我被其他事情弄得支离破碎,但当时我从来没有让它工作过。谢谢你的信息!JDK9是如此多神秘的sbt错误的根源,我认为0.13应该警告您必须更改JAVA,或者只需执行以下操作:
sudo更新备选方案--config JAVA
并选择JAVA版本8(当然,如果已安装)。如果不想更改默认JAVA(例如,我希望将Java 10作为默认值,但将Java 8用于SBT),您可以编辑
/etc/SBT/sbtopts
文件中的
-Java home
行(例如,我使用
-Java home/usr/lib/jvm/Java-8-openjdk-amd64
)。