web-dev-qa-db-fra.com

Échec d'initialisation du compilateur: objet Java.lang.Object dans le miroir du compilateur introuvable.

Sur Ubuntu 16.04, j'ai installé 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

Avec openjdk8 installé, scala échoue lors de l’ouverture du 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.

Comment puis-je le résoudre?

37
Kevin Meredith

L'utilisation de la version Java 8 de OpenJDK a résolu ce problème pour moi).

Sudo update-alternatives --config Java
Sudo update-alternatives --config javac
31
WOPR

Ce problème semble être avec Java 9 et est résolu avec Java 8.

Si vous avez Java 8 et Java 9 et que vous souhaitez conserver les deux, vous pouvez définir votre variable d'environnement Java_HOME vers le chemin Java 8.

Par exemple:

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

Vous devrez remplacer jdk1.8.0_161.jdk avec la version de JDK la plus récente.

Vous pouvez trouver cette version avec:

ls /Library/Java/JavaVirtualMachines/

Une fois que vous avez défini cette variable d’environnement, vous pouvez ouvrir un nouveau terminal et exécuter Java -version pour voir si la version a été configurée correctement.

MODIFIER:

Il est à noter que j'ai un Mac même s'il s'agit d'une question Linux.

9
Dbz

L’installation de Java version "1.8.0_144" a résolu le problème pour moi. J’avais déjà installé jdk 1.9.

4
Yash P Shah

L'installation Java 8 a résolu ce problème.

J'ai téléchargé Java 8 et je l'ai extrait à l'emplacement suivant: /usr/lib/jvm/jdk1.8.0_172

Ensuite, mettez à jour le chemin Java_HOME avec le même chemin: /usr/lib/jvm/jdk1.8.0_172

Cela résoudra le problème.

2
Styne.John.

J'ai rencontré le même problème. Désinstaller 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

Réf.: https://Gist.github.com/schnell18/bcb9833f725be22f6acd01f94b486392

Installer Java 8.

Tout semble bien aller maintenant.

Btw: c'était pour mac. Pourrait être utile pour vous.

1
Murali Bala

j'ai eu un zip de mon jdk au même endroit. Enlever le zip a fait l'affaire pour moi.

0
user7392763

Travaillé avec ceci Java version "1.8.0_144"

Désinstallez Java et Apache-spark

installer Java, installer Apache-spark

0
Anthony Awuley