Java ist ein optionales Paket in den neuesten Versionen von macOS.
Nach der Installation sieht es jedoch so aus, als ob die JAVA_HOME Umgebungsvariable ist nicht richtig eingestellt .
Java ist ein optionales Paket in den neuesten Versionen von macOS.
Nach der Installation sieht es jedoch so aus, als ob die JAVA_HOME Umgebungsvariable ist nicht richtig eingestellt .
Mit dem Optionales Java-Paket o Oracle JDK installiert, Fügen Sie eine der folgenden Zeilen in Ihr ~/.bash_profile Datei wird die Umgebungsvariable entsprechend gesetzt.
export JAVA_HOME="$(/usr/libexec/java_home -v 1.6)"
or
export JAVA_HOME="$(/usr/libexec/java_home -v 1.7)"
or
export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"
or simply
export JAVA_HOME="$(/usr/libexec/java_home)"
Hinweis: Wenn Sie Folgendes installiert haben openjdk auf Mac mit Gebräu , laufen sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
damit das oben genannte funktioniert
Aktualisierung: hinzugefügt -v Flagge basierend auf Jilles van Gurp Antwort .
/usr/libexec/java_home
ist kein Verzeichnis, sondern eine ausführbare Datei. Es gibt das aktuell konfigurierte JAVA_HOME aus und ändert es nicht wirklich. Dafür gibt es die Java Preferences App, die in meinem Fall kaputt zu sein scheint und die JVM nicht wirklich korrekt ändert. Sie listet zwar die 1.7 JVM auf, aber ich kann sie umschalten und per Drag & Drop verschieben, wie ich will, ohne dass sich die Ausgabe von /usr/libexec/java_home
.
Selbst nachdem ich 1.7.0 u6 von Oracle unter Lion installiert und in den Einstellungen als Standard eingestellt hatte, wurde immer noch das Apple 1.6 Java Home angezeigt. Die einzige Lösung, die tatsächlich funktioniert für mich ist die Einstellung JAVA_HOME manuell:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk/Contents/Home/
Auf diese Weise wird zumindest bei der Ausführung über die Befehlszeile die Version 1.7 verwendet. /usr/libexec/java_home
beharrt immer noch auf 1.6.
更新情報 : Java von der Kommandozeile unter OSX verstehen hat eine bessere Erklärung, wie das funktioniert.
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
ist der richtige Weg. Hinweis: Die Aktualisierung auf 1.8 funktioniert einwandfrei.
Bei mir, Mountain Lion 10.8.2, funktioniert die am häufigsten gewählte Lösung nicht. Ich installierte jdk 1.7 über Oracle und Maven von Homebrew.
Meine Lösung stammt aus der Datei hadoop-env.sh von hadoop, die ich ebenfalls über homebrew installiert habe. Ich füge den folgenden Satz in ~/.bash_profile ein, und es funktioniert.
export JAVA_HOME="$(/usr/libexec/java_home)"
Diese Lösung funktioniert auch für OS X Yosemite mit installiertem Java 1.8 von Oracle.
Keine der oben genannten Antworten hat mir geholfen. Ich nehme an, alle Antworten sind für ältere OS X
Für OS X Yosemite 10.10 gehen Sie folgendermaßen vor
Verwenden Sie zum Öffnen Ihren bevorzugten Texteditor: ~/.bash_profile
//This command will open the file using vim
$ vim ~/.bash_profile
Fügen Sie die folgende Zeile in die Datei ein und speichern Sie sie ( : gefolgt von einem "x" für vim):
export JAVA_HOME=$(/usr/libexec/java_home)
Geben Sie dann im Terminal die folgenden beiden Befehle ein, um die Ausgabe zu sehen:
$ source ~/.bash_profile
$ echo $JAVA_HOME
In der zweiten Zeile aktualisieren Sie den Inhalt von .bash_profile
Datei.
Update für Java 9 und einige nette Aliase.
Unter .bash_profile
:
export JAVA_HOME8=`/usr/libexec/java_home --version 1.8`
export JAVA_HOME9=`/usr/libexec/java_home --version 9`
Beachten Sie, dass es sich bei der neuesten Version um 9
und nicht 1.9
.
Aktives Java einstellen:
export JAVA_HOME=$JAVA_HOME8
export PATH=$JAVA_HOME/bin:$PATH
Einige zusätzliche Aliasnamen, um zwischen den verschiedenen Versionen zu wechseln:
alias j8='export JAVA_HOME=$JAVA_HOME8; export PATH=$JAVA_HOME/bin:$PATH'
alias j9='export JAVA_HOME=$JAVA_HOME9; export PATH=$JAVA_HOME/bin:$PATH'
Test im Terminal:
% j8
% java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
% j9
% java -version
java version "9"
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
EDIT: Update für Java 10
export JAVA_HOME10=`/usr/libexec/java_home --version 10`
alias j10='export JAVA_HOME=$JAVA_HOME10; export PATH=$JAVA_HOME/bin:$PATH'
EDIT: Update für Java 11
export JAVA_HOME11=`/usr/libexec/java_home --version 11`
alias j11='export JAVA_HOME=$JAVA_HOME11; export PATH=$JAVA_HOME/bin:$PATH'
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.