Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Scala repl throws error

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)
like image 334
ajay Avatar asked Jul 01 '14 19:07

ajay


3 Answers

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.

like image 163
om-nom-nom Avatar answered Nov 18 '22 16:11

om-nom-nom


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

like image 29
Hafiz Shehbaz Ali Avatar answered Nov 18 '22 14:11

Hafiz Shehbaz Ali


You might have to run it with JDK 7 or 6

like image 1
Rakesh Sharma Avatar answered Nov 18 '22 15:11

Rakesh Sharma