Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
线程中的scala EPFL异常;“主要”;java.lang.NoClassDefFoundError:javax/script/Compileable_Java_Scala_Debian_Scala Shell - Fatal编程技术网

线程中的scala EPFL异常;“主要”;java.lang.NoClassDefFoundError:javax/script/Compileable

线程中的scala EPFL异常;“主要”;java.lang.NoClassDefFoundError:javax/script/Compileable,java,scala,debian,scala-shell,Java,Scala,Debian,Scala Shell,我完全是Scala和JVM编程的高手。我最近加入的团队使用scala构建要在Spark上运行的程序。工作中的堆栈是稳定的和功能性的,但它的复杂性与我在家里的需求不匹配:仅仅是一个拥有功能性scala shell的堆栈,为了更熟悉该语言,尝试一下,在添加任何“环境复杂性”之前先掌握语法 [注意]我只是想要一些同样愚蠢的东西(因此,请不要根据编译器、sbt、IDE等回答) 这是我午餐吃贝壳时得到的 david@ripper$ scala Exception in thread "main" jav

我完全是Scala和JVM编程的高手。我最近加入的团队使用scala构建要在Spark上运行的程序。工作中的堆栈是稳定的和功能性的,但它的复杂性与我在家里的需求不匹配:仅仅是一个拥有功能性scala shell的堆栈,为了更熟悉该语言,尝试一下,在添加任何“环境复杂性”之前先掌握语法

[注意]我只是想要一些同样愚蠢的东西(因此,请不要根据编译器、sbt、IDE等回答)

这是我午餐吃贝壳时得到的

david@ripper$ scala 
Exception in thread "main" java.lang.NoClassDefFoundError: javax/script/Compilable
at scala.tools.nsc.interpreter.ILoop.createInterpreter(ILoop.scala:118)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply$mcZ$sp(ILoop.scala:911)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:909)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:909)
at scala.reflect.internal.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:97)
at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:909)
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)
我首先想到的一个经典问题是,我的系统上安装了一个Oracle java 11。但是,我认为openjdk8是默认的、系统范围的JRE:

update-alternatives --config java
Il existe 2 choix pour l'alternative java (qui fournit /usr/bin/java).
Sélection   Chemin Priorité  État
------------------------------------------------------------
  0            /usr/lib/jvm/java-11-oracle/bin/java             1091      mode automatique
  1            /usr/lib/jvm/java-11-oracle/bin/java             1091      mode manuel
* 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      mode manuel

我错过了什么。scala不是在使用
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
。我使用的是Debian 9中提供的默认scala包,
更新备选方案--config java
没有改变用户路径的
java\u HOME
(仍然指向java11)。scala shell似乎没有使用系统的默认JRE,而是使用.bashrc(在我的例子中是.zshrc)指向的JRE

update-alternatives --config java
Il existe 2 choix pour l'alternative java (qui fournit /usr/bin/java).
Sélection   Chemin Priorité  État
------------------------------------------------------------
  0            /usr/lib/jvm/java-11-oracle/bin/java             1091      mode automatique
  1            /usr/lib/jvm/java-11-oracle/bin/java             1091      mode manuel
* 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      mode manuel