无法初始化编译器:在编译器镜对象java.lang.Object中未找到
在Ubuntu 16.04,我装scala
:无法初始化编译器:在编译器镜对象java.lang.Object中未找到
$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.
我该如何解决它?
使用Java 8版本的OpenJDK为我解决了这个问题。
sudo update-alternatives --config java
sudo update-alternatives --config javac
使用brew在osx上安装特定的java版本:https://www.lonecpluspluscoder.com/2017/10/08/installing-other-versions-of-the-java-jdk-via-homebrew/ – polo
非常有帮助的回答! –
这是一个linux问题,但如果您在Mac上遇到此问题,请按照以下说明在您的系统中安装Java8(https://stackoverflow.com/questions/24342886/how-to-install-java-8- on-mac),并相应地设置新的JAVA_HOME(请参阅下面的@Dbz答案)。 – Rick
安装Java版本“1.8.0_144”为我解决了这个问题。我以前安装过jdk 1.9。
曾与该Java版本 “1.8.0_144”
卸载Java和Apache的火花
安装java,安装apache火花
如果你有Java的9这个问题,将其卸载然后安装Java 8。
这个问题似乎是与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
你需要与你的JDK版本为准更换jdk1.8.0_161.jdk
。
,可以看到版本:
ls /Library/Java/JavaVirtualMachines/
一旦你设置环境变量,你可以打开一个新的终端,运行java -version
,看看版本设置正确。
编辑:
这可能是值得指出的是,我有一个苹果,即使这是一个Linux的问题。
JAVA_HOME在您的机器中的价值是什么? –
没有设置。但是,我使用'sudo update-alternatives --config javac'来修复它,以使用openjdk-8而不是'/ usr/lib/jvm/java-9-openjdk-amd64/bin/java'。 –
设置JAVA_HOME是否擦除错误? –