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

时间:2013-09-17 06:45:23

标签: 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)

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

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

1 个答案:

答案 0 :(得分:24)

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

$ sudo update-alternatives --config java

替代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: 

EDITED: Scala现在可以用于Java 8 :-)

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