Scala repl抛出错误

时间:2014-07-01 19:20:39

标签: java scala read-eval-print-loop

当我在终端上键入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")时,它会再次抛出

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)

4 个答案:

答案 0 :(得分:62)

更新到较新的scala版本(2.10.3+)或将java降级为java 6/7。正如你在输出中看到的那样,2.9.2在引入java 8之前很久(Copyright 2002-2011, LAMP/EPFL),所以它们不能很好地协同工作。

This duplicate question包含有关ubuntu的Java降级的确切说明。

答案 1 :(得分:12)

使用终端

删除scala 2.9.2
 sudo apt-get remove scala 

scala website

下载最新的scala

安装说明正在对此link

进行说明

答案 2 :(得分:1)

您可能必须使用JDK 7或6

运行它

答案 3 :(得分:0)

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