2016-07-27 133 views
15

在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 

在安裝openjdk8scala打開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. 

我該如何解決它?

+1

JAVA_HOME在您的機器中的價值是什麼? –

+2

沒有設置。但是,我使用'sudo update-alternatives --config javac'來修復它,以使用openjdk-8而不是'/ usr/lib/jvm/java-9-openjdk-amd64/bin/java'。 –

+0

設置JAVA_HOME是否擦除錯誤? –

回答

8

使用Java 8版本的OpenJDK爲我解決了這個問題。

sudo update-alternatives --config java 
sudo update-alternatives --config javac 
+0

使用brew在osx上安裝特定的java版本:https://www.lonecpluspluscoder.com/2017/10/08/installing-other-versions-of-the-java-jdk-via-homebrew/ – polo

+0

非常有幫助的回答! –

+0

這是一個linux問題,但如果您在Mac上遇到此問題,請按照以下說明在您的系統中安裝Java8(https://stackoverflow.com/questions/24342886/how-to-install-java-8- on-mac),並相應地設置新的JAVA_HOME(請參閱下面的@Dbz答案)。 – Rick

3

安裝Java版本「1.8.0_144」爲我解決了這個問題。我以前安裝過jdk 1.9。

1

曾與該Java版本 「1.8.0_144」

卸載Java和Apache的火花

安裝java,安裝apache火花

0

如果你有Java的9這個問題,將其卸載然後安裝Java 8。

0

這個問題似乎是與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的問題。

相關問題