我是Scala和JVM編程的完全新手。我最近加入的團(tuán)隊使用 scala 來構(gòu)建要在 Spark 上運(yùn)行的程序。工作的堆棧是穩(wěn)定和功能性的,但它的復(fù)雜性與我在家里的需求不匹配:只是一個擁有功能性的scala shell來更熟悉語言,嘗試一些事情,在添加任何“環(huán)境復(fù)雜性”之前獲得正確的語法"[注]我只是想要一些與本文檔相同的東西(所以,請不要根據(jù)編譯器,sbt,IDE等來回答)david@ripper$ java -versionopenjdk version "1.8.0_181"OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-2~deb9u1-b13)OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)david@ripper$ scala -version Scala code runner version 2.11.8 -- Copyright 2002-2016, LAMP/EPFL這是我在吃貝殼時得到的david@ripper$ scala Exception in thread "main" java.lang.NoClassDefFoundError: javax/script/Compilableat 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)這似乎是一個經(jīng)典的問題,我首先與我在系統(tǒng)上安裝了Oracle java 11這一事實(shí)有關(guān)。但是,我認(rèn)為我使openjdk8是默認(rèn)的,系統(tǒng)范圍的JRE,如下所示:
1 回答

飲歌長嘯
TA貢獻(xiàn)1951條經(jīng)驗 獲得超3個贊
事實(shí)證明,沒有改變用戶的PATH(它仍然指向java11)。看起來 scala-shell 不使用系統(tǒng)的默認(rèn) JRE,而是使用 .bashrc(在我的例子中是 .zshrc)指向的 JRE。update-alternatives --config java
JAVA_HOME
添加回答
舉報
0/150
提交
取消