我是Scala和JVM編程的完全新手。我最近加入的團隊使用 scala 來構建要在 Spark 上運行的程序。工作的堆棧是穩定和功能性的,但它的復雜性與我在家里的需求不匹配:只是一個擁有功能性的scala shell來更熟悉語言,嘗試一些事情,在添加任何“環境復雜性”之前獲得正確的語法"[注]我只是想要一些與本文檔相同的東西(所以,請不要根據編譯器,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)這似乎是一個經典的問題,我首先與我在系統上安裝了Oracle java 11這一事實有關。但是,我認為我使openjdk8是默認的,系統范圍的JRE,如下所示:
1 回答

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