Failed to initialize compiler: object java.lang.Object in compiler mirror not found
在Ubuntu 16.04上,我安装了
1 2 3 4 5 6 | $ls ~/Binary/scala-2.11.8 bin doc lib man $grep -A 2 SCALA ~/.bashrc SCALA=~/Binary/scala-2.11.8 SBT=~/Binary/sbt export PATH=$PATH:$SCALA/bin:$SBT/bin |
安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $javac -version javac 1.8.0_91 $ $scala Welcome to Scala 2.11.8 (OpenJDK 64-Bit Server VM, Java 9-internal). Type in expressions for evaluation. Or try :help. scala> Failed to initialize compiler: object java.lang.Object in compiler mirror not found. ** Note that as of 2.8 scala does not assume use of the java classpath. ** For the old behavior pass -usejavacp to scala, or if using a Settings ** object programmatically, settings.usejavacp.value = true. Failed to initialize compiler: object java.lang.Object in compiler mirror not found. ** Note that as of 2.8 scala does not assume use of the java classpath. ** For the old behavior pass -usejavacp to scala, or if using a Settings ** object programmatically, settings.usejavacp.value = true. |
我该如何解决?
使用Java 8版本的OpenJDK为我解决了这个问题。
1 2 | sudo update-alternatives --config java sudo update-alternatives --config javac |
这个问题似乎与Java 9有关,并且可以通过Java 8解决。
如果您有Java 8和Java 9,并且希望同时保留它们,则可以将环境变量
例如:
您需要将
您可以找到以下版本:
设置该环境变量后,可以打开一个新终端并运行
编辑:
可能值得注意的是,即使这是一个Linux问题,我也有Mac。
安装java版"1.8.0_144"为我解决了这个问题。我以前安装过jdk 1.9。
安装Java 8解决了这个问题。
我下载了java 8并将其解压缩到以下位置:/usr/lib/jvm/jdk1.8.0_172
执行此操作后,将JAVA_HOME路径更新为:/usr/lib/jvm/jdk1.8.0_172
这将解决问题。
我在同一个地方有一个我的jdk拉链。拆卸拉链对我来说很有用。
我遇到了同样的问题。卸载Java 9
1 2 3 | sudo rm -fr /Library/Java/JavaVirtualMachines/jdk-9.jdk/ sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane |
参考:https://gist.github.com/schnell18/bcb9833f725be22f6acd01f94b486392
安装Java 8。
现在一切似乎都很好。
顺便说一句:这是为mac。可能对你有用。
使用这个java版本"1.8.0_144"
卸载java和apache-spark
安装java,安装apache-spark
如果您遇到此问题的Java 9,请将其卸载并安装Java 8。