斯卡拉repl抛出错误

当我在terminal上键入scala来启动repl时,会抛出这个错误

 scala> [init] error: error while loading AnnotatedElement, class file '/usr/lib/jvm/java-8-oracle/jre/lib/rt.jar (java/lang/reflect/AnnotatedElement.class)' is broken (bad constant pool tag 15 at byte 2713) 

当我println("hello, world")并inputprintln("hello, world") ,它再次抛出这个

 error: error while loading CharSequence, class file '/usr/lib/jvm/java-8-oracle/jre/lib/rt.jar (java/lang/CharSequence.class)' is broken (bad constant pool tag 15 at byte 1501) 

我正在使用Ubuntu 14.04java -version

 java version "1.8.0_05" Java(TM) SE Runtime Environment (build 1.8.0_05-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode) 

要么更新到一个新的Scala版本(2.10.3 +)或降级Java到Java 6/7。 正如你在输出中看到的那样,2.9.2在java 8引入之前已经很久了( Copyright 2002-2011, LAMP/EPFL ),所以它们不能很好的协同工作。

这个重复的问题包含有关Ubuntu的java降级的确切说明。

使用terminal删除Scala 2.9.2

  sudo apt-get remove scala 

从scala网站下载最新的scala

安装说明正在给这个链接

您可能必须使用JDK 7或6运行它

将JDK版本降级到7解决了这个问题。 这里是解决scheme: https : //askubuntu.com/questions/761127/how-do-i-install-openjdk-7-on-ubuntu-16-04-or-higher