Scala repl бросает ошибку
Когда я набираю scala
на терминале для запуска repl, он выдает эту ошибку
scala> [init] error: error while loading AnnotatedElement,
class file '/usr/lib/jvm/java-8-oracle/jre/lib/rt.jar
(java/lang/reflect/AnnotatedElement.class)'
is broken (bad constant pool tag 15 at byte 2713)
Когда я нажимаю enter и набираю println("hello, world")
, он снова бросает этот
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 1501)
Я использую Ubuntu 14.04
и java -version
дает
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
Ответы
Ответ 1
Вернитесь к новой версии scala (2.10.3+) или перейдите на java на java 6/7. Как вы видели на выходе, 2.9.2 был здесь задолго до ввода java 8 (Copyright 2002-2011, LAMP/EPFL
), поэтому они плохо работают вместе.
В этом дублирующем вопросе содержатся точные инструкции по обновлению ubuntu java.
Ответ 2
удалите scala 2.9.2 с помощью терминала
sudo apt-get remove scala
загрузите последний scala с scala веб-сайт
Инструкция по установке содержит ссылку
Ответ 3
Возможно, вам придется запустить его с помощью JDK 7 или 6
Ответ 4
Переход на версию JDK до версии 7 решил эту проблему для меня.
Вот решение:
https://askubuntu.com/info/761127/how-do-i-install-openjdk-7-on-ubuntu-16-04-or-higher