当我试图在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 楼答案
Scala与Java9的结合似乎存在各种问题 (例如,见here)
即将发布的Scala2.12.4应该可以修复其中一些问题
此时,“最佳”选择可能是而不是安装Java9,而是使用Java8。请参见here了解如何做到这一点的指导