web-dev-qa-db-ja.com

Scala REPL起動エラー "クラスファイルが壊れています"

起動後毎回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インスタンスでさらに評価している間、同様のエラーは発生しません。

この動作を処理する方法について誰か提案がありますか?

19
Yehor Nemov

他の代替プロバイダー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 を参照してください

24
Chemaclass