当我尝试在ubuntu上启动时,Scala会抛出异常

时间:2017-12-07 14:53:04

标签: java scala exception

我正在尝试在Ubuntu 16.04.3上启动scala。我安装了java和scala,但是当我在终端中输入scala时,它会突然抛出异常。

第1步:安装Java和Scala

首先,我按照How to install java中描述的步骤安装了Java:

 - $sudo apt-get update
 - $sudo apt-get install default-jre
 - $sudo apt-get install default-jdk
 - $sudo add-apt-repository ppa:webupd8team/java
 - $sudo apt-get update
 - $sudo apt-get install oracle-java9-installer

当我输入$java -version时,我得到:

java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

其次,我使用以下命令$sudo apt-get install scala

安装了scala

第2步:运行scala

当我输入$scala时,从控制台我得到以下异常:

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)

1 个答案:

答案 0 :(得分:3)

似乎Scala与Java9结合存在各种问题 (例如,见here)。

即将发布的版本Scala 2.12.4应该可以解决其中一些问题。

此时,“最佳”选项可能是安装Java9,而是使用Java8。有关如何执行此操作的说明,请参阅here