每次启动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实例的进一步评估期间,不会发生类似的错误。
有没有人建议如何处理这种行为?
答案 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