Scala repl抛出错误

aja*_*jay 56 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)
Run Code Online (Sandbox Code Playgroud)

当我点击enter并输入时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)
Run Code Online (Sandbox Code Playgroud)

我正在使用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)
Run Code Online (Sandbox Code Playgroud)

om-*_*nom 62

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

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


Haf*_*Ali 12

使用终端删除scala 2.9.2

 sudo apt-get remove scala 
Run Code Online (Sandbox Code Playgroud)

scala网站下载最新的scala

安装说明在此链接上给出