Scala REPL启动错误"类文件被破坏"

Yeh*_*mov 19 scala read-eval-print-loop

每次启动Scala 2.9.2 REPL(Java HotSpot(TM)64位服务器VM,Java 1.8.0-ea)后,第一行代码执行都会给我带来错误:

scala> 1 + 2
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 1484)
Run Code Online (Sandbox Code Playgroud)

稍后在当前REPL实例的进一步评估期间,不会发生类似的错误.

有没有人建议如何处理这种行为?

Che*_*ass 24

尝试选择其他替代提供程序java:

$ sudo update-alternatives --config java
Run Code Online (Sandbox Code Playgroud)

备用java有一些选择(提供/ usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-8-oracle/jre/bin/java          1071      auto mode
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      manual mode
* 3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1065      manual mode

Press enter to keep the current choice[*], or type selection number: 
Run Code Online (Sandbox Code Playgroud)

编辑:Scala现在可以使用Java 8 :-)

http://www.scala-lang.org/news/2013/09/18/release-notes-v2.10.3-RC2.html