有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

当我试图在ubuntu上启动JavaScala时,它抛出了一个异常

我正试图在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)

其次,我使用以下命令安装了scala $sudo apt-get install 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) 个答案

  1. # 1 楼答案

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

    即将发布的Scala2.12.4应该可以修复其中一些问题

    此时,“最佳”选择可能是而不是安装Java9,而是使用Java8。请参见here了解如何做到这一点的指导