2016-07-27 7 views
15

auf Ubuntu 16.04 gefunden, installierte ich scala:Fehlgeschlagen Compiler initialisieren: Objekt java.lang.Object in Compiler Spiegel nicht

$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 

Mit openjdk8 installiert, scala schlägt fehl, wenn die REPL Eröffnung:

$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. 

Wie kann ich es lösen?

+1

Welchen Wert hat JAVA_HOME auf Ihrem Computer? –

+2

Es ist nicht festgelegt. Aber ich habe es mit 'sudo update-alternatives --config javac' repariert, um openjdk-8 anstatt'/usr/lib/jvm/java-9-openjdk-amd64/bin/java' zu verwenden. –

+0

Hat das Setzen von JAVA_HOME den Fehler gelöscht? –

Antwort

8

Die Verwendung der Java 8-Version von OpenJDK löste dieses Problem für mich.

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

Installation bestimmter Java-Version auf osx mit brew: https://www.lonecpluspluscoder.com/2017/10/08/installing-other-versions-of-the-java-jdk-via-homebrew/ – polo

+0

Sehr hilfreiche Antwort! –

+0

Dies ist eine Linux-Frage, aber wenn Sie dieses Problem auf einem Mac haben, folgen Sie diesen Anweisungen, um Java8 in Ihrem System zu installieren (https://stackoverflow.com/questions/24342886/how-to-install-java-8- on-mac), und legen Sie Ihren neuen JAVA_HOME entsprechend fest (siehe @Dbz-Antwort unten). – Rick

3

Die Installation der Java-Version "1.8.0_144" behebt das Problem für mich. Ich hatte zuvor jdk 1.9 installiert.

1

mit dieser Java-Version Arbeitete "1.8.0_144"

Deinstallieren Java und Apache-Funken

Java installieren, installieren Apache-Funken

0

Wenn Sie Java 9 mit diesem Problem haben, es zu deinstallieren und installiere stattdessen Java 8.

0

Dieses Problem scheint mit Java 9 zu sein und wird mit Java 8.

gelöst Wenn Sie Java 8 und Java 9, und Sie würden beide halten möchten, können Sie Ihre Umgebungsvariable JAVA_HOME auf die Java-Set 8 Pfad.

Zum Beispiel:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home

Sie müssen ersetzen jdk1.8.0_161.jdk mit je nachdem, welche Version des JDK, die Sie haben.

Sie können diese Version mit finden:

ls /Library/Java/JavaVirtualMachines/

Sobald Sie diese Umgebungsvariable gesetzt ist, können Sie ein neues Terminal öffnen und java -version zu sehen, laufen, wenn die Version richtig eingestellt wurde.

EDIT:

Es kann erwähnenswert sein, dass ich einen Mac haben, obwohl dies eine Linux-Frage ist.