java - 当我尝试在 ubuntu 上启动 Scala 时抛出异常

标签 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)

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


第二步:运行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)

最佳答案

Scala 和 Java9 的结合好像有各种问题 (参见 here 示例)。

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

此时,“最佳”选择可能是安装 Java9,而是安装 Java8。参见 here获取指导如何做到这一点。

关于java - 当我尝试在 ubuntu 上启动 Scala 时抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47697735/

相关文章:

Java,将字符串数组作为方法参数传递的最有效方法

java并行流使用同一个worker

json - 如何使用 Play Framework 响应打印精美的 JSON 对象?

scala - 使用FlatMap使用Spark和Scala将列名称附加到元素

exception - Azure 配额超出异常

objective-c - 为什么在 NSDictionary 上调用 -allValues 会引发异常?

java - 关于JavaCV例子的问题

Scala 类型(推理)问题?

java - 流已被操作或关闭 - Java 8

java - 传入一个嵌入java类的对象作为参数