当我在终端上键入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.04
而java -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)
答案 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)
答案 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