Scala repl throws error

和自甴很熟 提交于 2019-11-26 15:57:43

问题


When I type scala on the terminal to start the repl, it throws this error

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)

When I hit enter and type println("hello, world"), it again throws this

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)

I am using Ubuntu 14.04 and java -version gives

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:


Either update to a newer scala version (2.10.3+) or downgrade java to java 6/7. As you have seen in the output, 2.9.2 was here long before java 8 was introduced (Copyright 2002-2011, LAMP/EPFL), so they don't work well together.

This duplicate question contains exact instructions on ubuntu's java downgrade.




回答2:


remove the scala 2.9.2 using terminal

 sudo apt-get remove scala 

download the latest scala from scala website

Installation instruction are giving on this link




回答3:


You might have to run it with JDK 7 or 6




回答4:


Downgrading JDK version to 7 solved this issue for me. Here is the solution: https://askubuntu.com/questions/761127/how-do-i-install-openjdk-7-on-ubuntu-16-04-or-higher



来源:https://stackoverflow.com/questions/24517761/scala-repl-throws-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!