So stufen Sie Java unter einem MACOS von 9 auf 8 herunter. Eclipse läuft nicht mit Java 9

94

So führen Sie ein Downgrade von Java von 9 auf 8 unter einem macOS Sierra 10.12.6 (16G29) durch. Ich habe versucht, das Java-Plugin zu entfernen und Java 8 installiert, aber die Java- und Javac-Version zeigt 9 im Terminal an, aber in den Systemeinstellungen ist es 8. Vielen Dank im Voraus!

Neu lernen
quelle
Die Version von MacOS kann relevant sein. Erwägen Sie, dies zu bearbeiten und der Frage hinzuzufügen (nicht als Kommentar zu veröffentlichen).
AJNeufeld

Antworten:

302

Sie müssen nicht herabstufen. Sie können mehr als eine Java-Version unter MacOS ausführen. Sie können die Version Ihres Terminals mit diesem Befehl in MacOS einstellen.

# List Java versions installed
/usr/libexec/java_home -V

# Java 11
export JAVA_HOME=$(/usr/libexec/java_home -v 11)

# Java 1.8
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

# Java 1.7
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)

# Java 1.6
export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)

Sie können den Standardwert in .bashrc, .profile oder .zprofile festlegen

mdeterman
quelle
3
Vielen Dank, das hat mir geholfen! Es ist eine Schande, dass die Java-Systemsteuerung unter MacOS solche Einstellungen nicht verfügbar macht.
Sesm
Könnten Sie bitte Ihre Antwort ausarbeiten? Was heißt /usr/libexec/java_home -v 11das
Sandeepan Nath
1
Tun export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)und export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_211)löst mein Problem nicht. Habe mein Terminal auch schon neu gestartet.
HendraWD
143

So habe ich es gemacht. Sie müssen Java 9 oder eine neuere Version nicht löschen.

Schritt 1: Installieren Sie Java 8

Sie können Java 8 hier herunterladen: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Schritt 2: Nach der Installation von Java 8. Bestätigen Sie die Installation aller Versionen. Geben Sie den folgenden Befehl in Ihr Terminal ein.

/usr/libexec/java_home -V

Schritt 3: Bearbeiten Sie .bash_profile

sudo nano ~/.bash_profile

Schritt 4: Fügen Sie standardmäßig 1.8 hinzu. (Fügen Sie die folgende Zeile zur Datei bash_profile hinzu).

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

Drücken Sie nun STRG + X, um die Bash zu beenden. Drücken Sie 'Y', um die Änderungen zu speichern.

Schritt 5: Laden Sie bash_profile neu

source ~/.bash_profile

Schritt 6: Bestätigen Sie die aktuelle Version von Java

java -version
VK321
quelle
Ist es möglich, die Javaws-Version auf die gleiche Weise zu ändern? Weil Java-Version meldet, dass es sich geändert hat, aber Javaws läuft immer noch auf dem neuesten Stand.
Lapkritinis
11

Wenn auf Ihrem Mac mehrere Java-Versionen installiert sind, können Sie die Standardversion schnell über Terminal wechseln. In diesem Beispiel werde ich Java 10 auf Java 8 umstellen.

$ java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    10.0.1, x86_64: "Java SE 10.0.1"    /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
    1.8.0_171, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home

Fügen Sie dann in Ihrem .bash_profile Folgendes hinzu.

# Java 8
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

Wenn Sie nun Java-Version erneut versuchen, sollten Sie die gewünschte Version sehen.

$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
Dorjee Dhondup
quelle
4

Da es erlaubt, mehr als eine Version von Java zu installieren, hatte ich viele 3 Versionen unwissentlich installiert, aber es wurde auf die neueste Version "11.0.2" verwiesen.

Ich könnte dieses Problem mit den folgenden Schritten lösen, um zu "1.8" zu gelangen.

$java -version

openjdk Version "11.0.2" 2019-01-15 OpenJDK Runtime Environment 18.9 (Build 11.0.2 + 9) OpenJDK 64-Bit Server VM 18.9 (Build 11.0.2 + 9, gemischter Modus)

cd /Library/Java/JavaVirtualMachines
ls

jdk1.8.0_201.jdk jdk1.8.0_202.jdk openjdk-11.0.2.jdk

sudo rm -rf openjdk-11.0.2.jdk
sudo rm -rf jdk1.8.0_201.jdk
ls

jdk1.8.0_202.jdk

java -version

Java-Version "1.8.0_202-ea" Java (TM) SE-Laufzeitumgebung (Build 1.8.0_202-ea-b03) Java HotSpot (TM) 64-Bit-Server-VM (Build 25.202-b03, gemischter Modus)

keshav
quelle
Ich würde vermeiden, Dateien auf Ihrem System zu entfernen. $JAVA_HOMELeiten Sie stattdessen einfach die env-Variable um.
Simeg
3

Alte Frage, aber ich hatte gerade dieses Problem / dumme Jira hatte Probleme mit Java 10 / und fand hier keine einfache Antwort, also lass es einfach:

$ /usr/libexec/java_home -VZeigt die installierten Versionen und ihre Speicherorte an, damit Sie sie einfach entfernen können /Library/Java/JavaVirtualMachines/<the_version_you_want_to_remove>. Voila

Dan
quelle
1

Die einfachste Lösung könnte darin bestehen, Java 8 parallel zu Java 9 zu installieren (falls noch nicht vorhanden) und die JVM anzugeben, in der explizit verwendet werden soll eclipse.ini. Sie finden eine Beschreibung dieser Einstellung, einschließlich einer Beschreibung, wie Sie sie eclipse.iniauf einem Mac bei Eclipsepedia finden

Lothar
quelle
-2

Sie können "JavaAppletPlugin.plugin" aus Spotlight oder Finder entfernen und dann heruntergeladenes Java 8 erneut installieren.

Dies wird einfach Ihr Problem lösen.

Holosuda
quelle