Executando o shell interativo scala a partir da linha de comando

0

Acabei de instalar o scala no Ubuntu

scala -version
Scala code runner version 2.11.6 -- Copyright 2002-2013, LAMP/EPFL

mas quando tento executar o comando scala para uma sessão de shell interativa, tenho o seguinte erro:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/script/Compilable
    at scala.tools.nsc.interpreter.ILoop.createInterpreter(ILoop.scala:126)
    at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply$mcZ$sp(ILoop.scala:908)
    at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:906)
    at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:906)
    at scala.reflect.internal.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:97)
    at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:906)
    at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:74)
    at scala.tools.nsc.MainGenericRunner.run$1(MainGenericRunner.scala:87)
    at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:98)
    at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:103)
    at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
    
por A. N. Other 17.02.2018 / 16:28

1 resposta

1

A versão do Scala que você instalou não funciona com a versão do Java que você instalou.

O Scala funciona bem com o Java 8. Você provavelmente instalou o Java 9. A solução é desinstalar o Java e instalar o Java 8.

Há mais problemas em tentar usar o Java 9 ou mais recente com o Scala. A Oracle começou a alterar o pacote e o licenciamento para Java, o que significa que algumas classes (importações) que o Scala requer não existem no Java SE 9+. Alguns foram movidos para o Java EE e alguns estão obsoletos. Fique com o Java 8 com o Scala.

    
por John Hanley 18.08.2018 / 22:53