19

每次启动 Scala 2.9.2 REPL (Java HotSpot(TM) 64-Bit Server 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 实例中的进一步评估期间,没有发生类似的错误。

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

4

1 回答 1

26

尝试选择其他替代提供程序 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: 

已编辑:Scala 现在可用于 Java 8 :-)

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

于 2014-04-22T11:01:30.177 回答