Der Java-Updater auf meinem Mac hat eine obskure Version von Java 10.0.1 installiert, die ich noch nie zuvor gehört habe. Das Ergebnis ist, dass ALLE meine Java-Apps nicht mehr ausgeführt werden, was Java sinnlos macht.
Die offiziellen Anweisungen zum Entfernen von Java lauten:
- sudo rm -fr / Bibliothek / Internet \ Plug-Ins / JavaAppletPlugin.plugin
Was nutzlos ist, weil Ich verwende kein Java im Browser (wer ist verrückt genug, dies zu tun?)
- sudo rm -fr / Library / PreferencePanes / JavaControlPanel.prefPane
Das ist nutzlos, weil nur das Einstellungsfenster entfernt
- sudo rm -fr ~ / Bibliothek / Anwendung \ Support / Java
Was nutzlos ist weil Dieses Verzeichnis ist bereits leer.
Die offiziellen Anweisungen zum Entfernen von Java auf einem Mac bewirken absolut nichts.
Wenn ich meine Java-Apps ausführe Mit Java-Jar vom Terminal aus arbeiten sie. Vom Terminal aus sehe ich Folgendes:
Vom Terminal aus ist die Java-Version 1.8.0_131, was meine gewünschte Version ist. Wenn ich Apps mit JavaAppLauncher vom Desktop aus starte, lautet die Java-Version 10.0.1.
Wie kann ich diese Katastrophe, die Oracle mit dem automatischen Updater verursacht hat, rückgängig machen?
Antwort
Ich hatte das gleiche Problem: Ich hatte Java 8 installiert, aber später 10 installiert. Dann entfernte ich 10 und als ich ein jar von startete Das Terminal würde in Version 8 ausgeführt, und wenn ich die Version mit java -version
im Terminal überprüfe, erhalte ich java version "1.8.0_181
. Wenn ich jedoch eine .jar über den Finder ausführte, wurde sie in Version 10 ausgeführt. Wenn ich zum Java-Einstellungsbereich ging, wurde die Version als Version 10 aufgeführt. Dies war unerwünscht: Ich war versuchen, v10 vollständig zu entfernen.
Dann habe ich JavaAppletPlugin mit rm /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
gelöscht und Java SE JDK 8 von online neu installiert, und siehe da! es funktioniert jetzt. Wenn ich .jar ausführe, werden sie in Java 8 ausgeführt.
Mir ist klar, dass Sie dies in Ihrem ersten Schritt erwähnt haben, aber ich schließe daraus, dass Sie diesen Schritt nicht ausgeführt haben? Wenn ich mich darin irre, dann Sie „Ich habe ein anderes Problem. Aber das hat mein Problem gelöst.
Kommentare
- Ja, ich habe nicht versucht, das Applet-Plugin zu löschen, weil ich es trotzdem deaktiviert habe im Browser
- Sinnvoll. Aufgrund meiner Erfahrung scheint das Vorhandensein von JavaAppletPlugin jedoch Auswirkungen darauf zu haben, welche Java-Version zum Ausführen von .jar-Apps im Finder verwendet wird. Für mich habe ich gelöscht die JVM v10, aber erst als ich JavaAppletPlugin löschte, verwendete der Finder v10 nicht mehr zum Ausführen von .jar-Apps.
Antwort
Ich glaube, das Problem besteht darin, zum richtigen Verzeichnis zu navigieren … Sobald Sie dort sind, wo Sie sein sollen, können Sie die sudo-Befehle ausführen, um die Java-Versionen zu entfernen, die Sie entfernen möchten.
Zuerst Führen Sie den Befehl im Terminal aus, um festzustellen, welche Java-Version Sie verwenden Wenn Sie
java -version
ausführen, können Sie mit dem folgenden Befehl zu der lästigen Version von Java navigieren, die Sie löschen möchten:
cd /Library/Java/JavaVirtualMachines
Wenn Sie sich im Pfad JavaVirtualMachines
befinden, geben Sie ls
ein, um zu sehen, welche Versionen angezeigt werden von Java, das Sie installiert haben,
ls
und schließlich, wenn Sie wissen, welche Version oder Versionen von Java Sie deinstallieren möchten:
sudo rm -rf jdk-10.0.1.jdk #or whichever version you want to delete
Kommentare
- Das Problem ist, dass die in der Systemsteuerung angezeigte Version nicht mit der Java-Version im Terminal übereinstimmt. Wenn ich Java 8.171 entfernen möchte, gibt es anscheinend auch keine Möglichkeit: imgur.com/a/iIK67bD
- Und das jdk 10.0. 1 war in diesem Ordner nicht vorhanden.
- @Magnetic_dud Sie sollten weiterhin in der Lage sein, mithilfe des Befehls ls mithilfe Ihrer Dateiverzeichnisstruktur zu debuggen und dann ein neues funktionierendes Jdk oder eine von Ihnen installierte Java-Version zu löschen und neu zu installieren.
- Einfach und für mich gearbeitet. Vielen Dank!
Antwort
Wenn Sie mehr als eine Version von jdk haben:
$ ls -l /Library/Java/JavaVirtualMachines drwxr-xr-x 3 root wheel 96 30 avr 15:15 jdk-10.0.1.jdk drwxr-xr-x 3 root wheel 96 30 avr 15:24 jdk1.8.0_172.jdk drwxr-xr-x 3 root wheel 96 17 oct 10:59 jdk1.8.0_191.jdk
Ändern Sie Ihr JAVA_HOME
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
Antwort
Ich habe die alte (funktionierende) Version von java.com heruntergeladen.
Tatsächlich ist Java 8.171 der Download, der standardmäßig angezeigt wird. Ich weiß nicht, warum er automatisch auf 10.0.1 aktualisiert wurde Wenn es Beta-Qualität hat.
Jetzt wird es nicht installiert, es heißt „Entschuldigung, Sie haben das neuere und bessere 10.0.1 Java“
Führen Sie es zur Installation aus Die scheinbar nutzlosen Befehle, die in der Frage erwähnt werden. Java funktioniert weiterhin im Terminal, aber dann können Sie mit dem Installationsprogramm die richtige Version installieren, 1.8_171
Deaktivieren Sie jetzt die Updates, wenn Sie Ihre Apps nicht erneut beschädigen möchten. Java ist eine Sicherheitsbedrohung. Es sollte monatlich aktualisiert werden. Stellen Sie daher sicher, dass es in Ihrem Browser deaktiviert ist.
Wenn Sie Java -version ausführen, erhalten Sie aus irgendeinem Grund immer noch Folgendes:
java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Was eine andere falsche Version ist. Wie auch immer, das Wichtigste ist Wenn Ihre Java-Apps jetzt funktionieren, stellen Sie sicher, dass das Browser-Plugin aus Sicherheitsgründen deaktiviert ist.
Antwort
In meinem Fall habe ich Auf meinem Computer v11 und v7 waren zwei JDK installiert. Ich musste Eclipse Luna für ein Projekt auf meinem Computer ausführen. Immer wenn ich in cmd java -version
ausführe, wurde usw. „
Die Lösung für mich bestand darin, die Variable PATH
zu ändern. um auf das JDK zu verweisen, mit dem Eclipse ausgeführt werden soll.
Im Grunde wechsle ich von:
C:\Program Files\Java\jdk-11.0.2\bin
zu
C:\Java\JDK7\bin
Die Ausgabe von Java -version lautet nun:
java version "1.7.0_76"
Kommentare
- Ich freue mich über Ihre Antwort, aber dies scheint eine Antwort für Windows in einem Beitrag über macOS zu sein.