在Ubuntu 16.04上,我安装了scala
:
$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
安装openjdk8
后,scala
在打开REPL时失败:
$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.
我该如何解决?
答案 0 :(得分:27)
使用Java 8版本的OpenJDK为我解决了这个问题。
sudo update-alternatives --config java
sudo update-alternatives --config javac
答案 1 :(得分:7)
这个问题似乎与Java 9有关,并且可以通过Java 8解决。
如果您有Java 8和Java 9,并且希望同时保留它们,则可以将环境变量JAVA_HOME
设置为Java 8路径。
例如:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home
您需要将jdk1.8.0_161.jdk
替换为您拥有的JDK版本。
您可以找到该版本:
ls /Library/Java/JavaVirtualMachines/
设置该环境变量后,您可以打开一个新终端并运行java -version
以查看版本是否设置正确。
编辑:
值得注意的是,即使这是一个Linux问题,我也有Mac。
答案 2 :(得分:5)
不推荐使用Java 8,因此降级到绝不能是可接受的解决方案。
正确的解决方案是将SBT升级到0.13.17或更高版本。
答案 3 :(得分:4)
安装java版本" 1.8.0_144"为我解决了这个问题。我之前安装过jdk 1.9。
答案 4 :(得分:1)
安装Java 8解决了这个问题。
我下载了java 8并将其解压缩到以下位置:/usr/lib/jvm/jdk1.8.0_172
执行此更新后,将JAVA_HOME路径更新为:/usr/lib/jvm/jdk1.8.0_172
这将解决问题。
答案 5 :(得分:0)
使用此java版本" 1.8.0_144"
卸载java和apache-spark
安装java,安装apache-spark
答案 6 :(得分:0)
我遇到了同样的问题。卸载Java 9
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。可能对你有用。
答案 7 :(得分:0)
我在同一位置放了我的jdk拉链。删除拉链对我来说很成功。
答案 8 :(得分:-1)
如果您遇到此问题的Java 9,请将其卸载并安装Java 8。