Ich möchte mit dem neuesten JavaFX programmieren, für das Java 8 erforderlich ist. Ich verwende IntelliJ 13 CE und Mac OS X 9 Mavericks. Ich habe das Java 8-Installationsprogramm von Oracle ausgeführt, und die Dateien sehen so aus, als wären sie bei gelandet
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk
aber frühere Versionen sind bei
/System/Library/Java/JavaFrameworks/jdk1.6....
Ich bin mir nicht sicher, warum das neueste Installationsprogramm dies /Library
anstelle von /System/Library
(oder was der Unterschied ist) einfügt. Aber /usr/libexec/java_home
findet 1.8 nicht, so dass alle Beiträge, die ich zum Einstellen Ihrer aktuellen Java-Version gefunden habe, nicht funktionieren. Ich habe versucht, einen symbolischen Link hinzuzufügen, damit es so aussieht, als wäre 1.8 im /System/Library...
Pfad, aber es hilft nicht. /usr/libexec/java_home -V
listet immer noch nur das alte Java 1.6 auf.
Ironischerweise zeigt das Kontrollfeld "Java" in den Systemeinstellungen nur Java 1.8 an!
Warum bringt das Oracle-Installationsprogramm es nicht dahin, wo es wirklich hingeht? Und wie kann ich dieses Problem umgehen?
quelle
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/
. In der vorherigen Version wurden die von Apple bereitgestellten Java-Versionen verwendet, und da Apple kein Java mehr bereitstellt, hat sich der Installationsort geändert.Antworten:
Oracle hat eine schlechte Bilanz, um die Installation und Konfiguration von Java zu vereinfachen. Mit Homebrew kann das neueste OpenJDK (Java 14) jedoch installiert werden mit:
Für die vielen Anwendungsfälle, die von einer älteren Version abhängen ( normalerweise Java 8), ermöglicht das AdoptOpenJDK- Projekt einen zusätzlichen Schritt.
Bestehende Benutzer von Homebrew können
Error: Cask adoptopenjdk8 exists in multiple taps
aufgrund vorheriger Problemumgehungen mit unterschiedlichen Anweisungen auf etwas stoßen . Dies kann gelöst werden, indem der Standort mit vollständig angegeben wirdbrew cask install adoptopenjdk/openjdk/adoptopenjdk8
.quelle
brew update
, können Sie es verwendenbrew cask
.brew cask install java
auf meinem El Capitan Mac gelaufen und es wird heruntergeladenjdk-8u112-macosx-x64.dmg
.Error: Cask 'java8' is unavailable: No Cask with this name exists.
brew tap homebrew/cask-versions
und verwendenbrew cask install homebrew/cask-versions/adoptopenjdk8
Hinweis: Oracle Java 8/9/10 steht nicht mehr zum öffentlichen Download zur Verfügung (Lizenzänderung).
Installieren und aktualisieren Sie zuerst Brew vom Terminal:
NEU ab Juni 2019
So installieren Sie die JDKs von AdoptOpenJDK:
ALT
Java 8:
Java Neueste:
quelle
brew tap
Befehl in der obigen Antwort nicht ausführen . Der erste und dritte Befehl waren ausreichend.Error: Cask 'java8' is unavailable: No Cask with this name exists.
$ brew cask install adoptopenjdk8 Error: Cask adoptopenjdk8 exists in multiple taps: caskroom/versions/adoptopenjdk8 adoptopenjdk/openjdk/adoptopenjdk8
. Ich muss verwendenbrew cask install adoptopenjdk/openjdk/adoptopenjdk8
brew tap homebrew/cask-versions
undbrew cask install adoptopenjdk8
arbeitet für mich an Hi Sierra 10.13.6Java8 ist auf Homebrew nicht mehr verfügbar und
brew install java8
funktioniert nicht.Verwenden Sie stattdessen:
In diesem Commit finden Sie technische Details.
Bitte beachten Sie auch, dass möglicherweise Probleme auftreten
Cask adoptopenjdk8 exists in multiple taps
. Dies ist ein bekanntes Problem, an dem derzeit gearbeitet wird. Sie können es hier sehen:https://github.com/AdoptOpenJDK/homebrew-openjdk/issues/106
Für diejenigen, die die Details nicht durchgehen möchten, ist hier eine Zusammenfassung:
quelle
AdoptOpenJDK/openjdk
statt in der Verwendunghomebrew/cask-versions/adoptopenjdk8
brew cask install homebrew/cask-versions/adoptopenjdk8
arbeitete für michIch habe das gerade auf meinem MBP gemacht und musste es benutzen
um java8 zu installieren.
quelle
brew tap caskroom/versions
ist erforderlich, bevor Sie Java8brew install homebrew/cask-versions/java8
um zu gewinnen!Eine Option, die mir beim Ausführen von Anwendungen auf meinem lokalen Computer allmählich gefällt, ist die Verwendung von Docker. Sie können Ihre Anwendung einfach im offiziellen JDK-Container ausführen. Sie müssen sich also nicht darum kümmern, alles auf Ihrem lokalen Computer einzurichten (oder mehrere verschiedene Versionen des JDK für verschiedene Apps usw. ausführen).
Obwohl dies bei Ihren aktuellen Installationsproblemen möglicherweise nicht hilfreich ist, handelt es sich um eine Lösung, mit der Sie das Minenfeld der Probleme umgehen können, die mit dem Versuch verbunden sind, Java auf Ihrem Entwicklungscomputer ordnungsgemäß zum Laufen zu bringen!
Die Vorteile sind:
Ein sehr einfaches Beispiel:
Erstellen Sie eine
Dockerfile
:java:8
- verwenden Java 7, könnten Sie einfach angeben:java:7
)/usr/src/myapp
innerhalb des ContainersErstellen Sie eine
docker-compose.yml
Datei:Angenommen, wir haben diese Java-Datei:
HelloWorld.java
Wir haben also folgende Dateistruktur:
Sie können verschiedene Java-Dinge tun wie:
kompilieren:
Lauf:
docker-compose run
- führt einen Befehl aus dem Container aus-rm
Weist Docker an, den Container zu entfernen, sobald der Befehl ausgeführt wurdejava
ist der Name des Dienstes / Containers (aus unserer Docker-Compose-Datei), für den dieser Befehl ausgeführt wirdDies ist eine ziemlich coole Methode, um verschiedene Versionen von Java für verschiedene Apps auszuführen, ohne Ihr lokales Setup komplett durcheinander zu bringen :).
Hier ist ein etwas komplexeres Beispiel mit Maven und einer einfachen Spring-App
Haftungsausschluss:
quelle
Annahme: Mac-Maschine und Sie haben Homebrew bereits installiert.
Installieren Sie das Fass (mit Homebrew 0.9.5 oder höher ist das Fass enthalten, überspringen Sie diesen Schritt):
So installieren Sie das neueste Java:
So installieren Sie Java 8:
Wenn Sie mehrere Versionen installieren / verwalten möchten, können Sie 'jenv' verwenden:
Installieren und konfigurieren Sie jenv:
Fügen Sie das installierte Java zu jenv hinzu:
So zeigen Sie alle installierten Java:
Der obige Befehl gibt die Liste der installierten Java an:
Konfigurieren Sie die Java-Version, die Sie verwenden möchten:
So setzen Sie JAVA_HOME:
quelle
Ich habe das gleiche Problem zu lösen, weil ich JDK8 installieren muss, um Android SDK Manager auszuführen (weil es scheint, dass das mit JDK9 nicht gut funktioniert). Ich erzähle Ihnen jedoch, wie ich alle Probleme auf einem Mac (Sierra) löse.
Zuerst müssen Sie mit Fass und Jenv brauen .
brew tap caskroom/versions
brew install jenv
brew cask install java8
(oderjava7
oder ,java
wenn Sie die neueste Version, jdk9 installieren)jenv versions
um alle auf Ihrem Computer installierten Versionen aufzulisten und dann die gewünschte Version zu aktivierenjenv global [JDK_NAME_OF_LIST]
Weitere nützliche Informationen finden Sie hier auf dieser Github Gist Brew-java-and-jenv.md , in diesem Blog. Installieren Sie mehrere JDKs auf einem Mac und auf der Jenv-Website
quelle
quelle
Wenn Sie mehrere Java-Versionen auf Ihrem Computer haben und diese zur Laufzeit dynamisch auswählen möchten, dh in meinem Fall habe ich zwei Versionen:
Sie können sie ändern, indem Sie den
/etc/profile
Inhalt ändern . Fügen Sie einfach die folgenden zwei Zeilen am Ende der Datei hinzu (oder ändern Sie sie):In meinem Fall sollte es wie folgt aussehen, wenn ich verwenden möchte:
Java 7:
Java 8:
Nachdem Sie die Datei gespeichert haben, führen Sie sie aus
source /etc/profile
und sie sollte funktionieren. Hier sind die Ergebnisse, wenn ich die erste und zweite Option entsprechend verwende:Java 7:
Java 8:
Der Vorgang ist ähnlich, wenn sich Ihr Java-Ordner an verschiedenen Orten befindet.
quelle
alias java8=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java
?Es scheint, dass noch niemand SDK-Mann ( https://sdkman.io/ ) erwähnt hat.
Mit SKD man können mehrere Java-Versionen auf einem Mac installiert und einfach zwischen diesen Versionen gewechselt werden. Weitere Informationen finden Sie unter https://sdkman.io/usage .
Zum Beispiel:
quelle
Ich habe Anwendungen, die sowohl Java 7 als auch Java verwenden und ständig hin und her gehen müssen.
Ich benutze dieses Skript von Johan:
http://www.jayway.com/2014/01/15/how-to-switch-jdk-version-on-mac-os-x-maverick/
Sie können es jetzt beim Start einstellen oder das Skript anschließend aufrufen.
Installieren Sie das JDK für Mac.
Java 7
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
Java 8
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Aktualisierte Empfehlung !! ::
Verwenden Sie jenv https://www.jenv.be/ und homebrew.
Dann ist es gerecht
jenv global oracle6401.6.0.39
und gesetzt.quelle
~/.bashrc
oder~/.bash_profile
: export JAVA_HOME = "/ usr / libexec / java_home -v 1.8" hinzufügen und Ihr hinzufügen$JAVA_HOME/bin
,$PATH
wenn das Java-Installationsprogramm dies noch nicht getan hat. (HINWEIS: Ersetzen Sie doppelte Anführungszeichen durch Backticks für / usr / libexec / java_home. In Kommentaren können keine wörtlichen Backticks eingegeben werden.)brew tap caskroom/versions
folgt der Befehlbrew cask install java7
.Benutze den Installer, Luke
Andere Antworten, die darauf hindeuten, dass der Homebrew- Paketmanager etwas extrem erscheint. Ich bin sicher, Homebrew hat einige gute Verwendungsmöglichkeiten. Um Java einfach auszuführen, ist die Installation von Homebrew ein unnötiger zusätzlicher Schritt. Wenn Sie nur Java ausführen möchten, laden Sie einfach ein Mac-Installationsprogramm von einer vertrauenswürdigen Quelle herunter.
Sie haben mehrere Quellen, um eine benutzerfreundliche Installations-App zu erhalten, mit der Sie Java auf Ihrem Mac installieren können. Führen Sie das Installationsprogramm auf Ihrem Mac aus, genau wie bei vielen anderen Apps.
Hier ist ein Flussdiagramm zum Auffinden einer Java 11-Quelle, von denen einige auch Java 8 anbieten.
Laden Sie ein Installationsprogramm von einem Anbieter wie AdoptOpenJDK.net herunter.
Führen Sie das Installationsprogramm aus.
JavaVirtualMachines
Ordner ist jetzt korrektKein Problem.
Der Ordner
/Library/Java/JavaVirtualMachines/
ist das neue Zuhause für JVMs unter macOS .Verwenden Sie zum Installieren einer JVM ein Installationsprogramm (siehe unten).
Verwenden Sie zum Deinstallieren einfach den Finder, um eine JVM aus diesem Ordner zu löschen. Sie werden aufgefordert, ein Systemadministratorkennwort einzugeben, um das Entfernen abzuschließen.
Java 9 & 10 & 11
Bereits 2010 trat Apple zusammen mit Oracle , IBM , Red Hat , Azul und anderen Java-Anbietern dem OpenJDK- Projekt bei . Jedes Mitglied trägt Quellcode, Tests und Feedback zur einheitlichen OpenJDK-Codebasis bei.
Apple hat den größten Teil seines Mac-spezifischen Codes für seine JVM beigesteuert. Jetzt veröffentlicht Apple keine eigene Mac-spezifische JVM mehr. Sie haben jetzt die Wahl zwischen einem JVM-Lieferanten, dessen Builds aus der OpenJDK-Codebasis stammen.
Sie finden den Quellcode unter: http://openjdk.java.net
Neuerscheinungskadenz
Beachten Sie, dass Oracle, JCP und OpenJDK 2017 einen neuen Plan für den schnellen Release-Zug verabschiedet haben, mit dem regelmäßig geplante Java-Versionen auf vorhersehbare Weise bereitgestellt werden können.
In diesem Blogbeitrag von Azul Systems für 2018-07 finden Sie viele Details zur Beseitigung der Verwirrung bei Java-Updates von Simon Ritter .
Lesen Sie auch Java ist immer noch kostenlos .
Anbieter
Eine ziemlich vollständige Liste vergangener und aktueller JVM-Implementierungen finden Sie auf dieser Seite bei Wikipedia .
Hier finden Sie eine Diskussion einiger Anbieter. Weitere Anbieter finden Sie im obigen Flussdiagramm
Oracle JDK
Oracle bietet JDK- und JRE-Installationsprogramme für mehrere Plattformen, einschließlich macOS.
Im Laufe der Jahre seit der Übernahme von Sun hat Oracle die besten Teile der beiden JVM-Engines HotSpot und JRocket kombiniert und in das OpenJDK- Projekt integriert, das als Grundlage für ihre eigenen Markenimplementierungen von Java dient.
Der neue Geschäftsplan für 2018 sieht vor, eine Implementierung von Java unter der Marke Oracle gegen eine Gebühr in der Produktion und kostenlos für die Verwendung in Entwicklung / Test / Demo bereitzustellen. Für die Unterstützung früherer Versionen ist ein kostenpflichtiges Supportprogramm erforderlich. Sie haben ihre Absicht erklärt, dass ihre Markenversion mit der OpenJDK-Version übereinstimmen soll. Sie haben sogar ihre kommerziellen Add-Ons wie Flight Recorder für das OpenJDK-Projekt gespendet .
Oracle veröffentlicht auch einen OpenJDK-Build ohne Unterstützung: http://jdk.java.net/
Oracle hat ein spezielles JDK, GraalVM , erstellt .
Zulu & Zing von Azul
Azul Systems bietet eine Vielzahl von JVM-Produkten an.
Zulu
Linie basiert direkt auf OpenJDK und ist kostenlos mit optionalen bezahlten Supportplänen erhältlich.Zing
Linie bietet kommerzielle JVM-Produkte, die durch alternative technische Implementierungen wie einen spezialisierten Müllsammler erweitert wurden .Beide Linien bieten Installationsprogramme für macOS.
Ich verwende derzeit Zulu für Java 10.0.1 unter macOS High Sierra mit IntelliJ 2018.2 und Vaadin 8 . Ich habe von dieser Seite heruntergeladen . By the way, ich nicht finde keinen Java-bezogene Artikel auf dem Apple installierte Systemeinstellungen App.
AdoptOpenJDK.net
AdoptOpenJDK ist eine von der Community geleitete Aktion zum Erstellen von Binärdateien der OpenJDK-Quelle. Sie beabsichtigen, im Laufe der Zeit Updates anzubieten, die von Community-Mitgliedern gespendet wurden.
OpenJ9 von Eclipse
Das OpenJ9- Projekt ist eine weitere Implementierung der JVM-Engine, eine Alternative zu HotSpot .
Jetzt gesponsert von der Eclipse Foundation, mit Technologie und Unterstützung, die IBM 2017 gespendet hat.
Für vorgefertigte Binärdateien verweisen sie auf das oben erwähnte AdoptOpenJDK- Projekt.
Wie installiert man
Die von Oracle oder Azul bereitgestellten Installationsprogramme sind äußerst einfach zu bedienen. Führen Sie einfach die Installations-App auf Ihrem Mac aus. Ein Fenster zeigt den Fortschritt der Installation an.
Überprüfen Sie nach Abschluss Ihrer JVM-Installation Folgendes:
/Library/Java/JavaVirtualMachines/
Ordner, um ein Element für die neue JVM anzuzeigen.java -version
, um die Marke und die Versionsnummer Ihrer JVM anzuzeigen.Hängen Sie nach Überprüfung des Erfolgs das Dmg-Image im Finder ab. Dann werfen Sie die heruntergeladene .dmg-Datei in den Papierkorb.
quelle
Führen Sie diese Befehle auf dem Mac High Sierra aus
und mit Befehl prüfen
quelle
Error: Download failed on Cask 'java8' with message: Download failed: https://download.oracle.com/otn-pub/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-macosx-x64.dmg
Mit Gebräu
quelle
Am besten verwenden Sie den Brew Package Manager, aber den Befehl
schlägt mit Fehler fehl:
Also benutze
Wie habe ich "caskroom / version / java8" gefunden: mit dem Befehl "Brew Search":
quelle
Wenn Sie es NICHT für den persönlichen Gebrauch verwenden, möchten Sie möglicherweise stattdessen OpenJDK verwenden, um mögliche Rechtsstreitigkeiten von Oracle zu vermeiden.
quelle
Wenn Sie auf einem Mac arbeiten, ist Homebrew der richtige Weg, um Dinge zu installieren.
Es scheint, dass Version 8 nicht mehr die neueste ist, daher ist sie nicht mit der Standardeinstellung verfügbar
brew cask install java
.Stattdessen habe ich Folgendes geschafft:
Wenn dies fehlschlägt, versuchen Sie es einfach direkt mit dem nächsten:
Test mit
brew cask list
oderjava -version
quelle
Am einfachsten ist es, die dmg-Datei von der folgenden Site herunterzuladen und per Doppelklick zu installieren
Suchen Sie im Home-Verzeichnis nach verfügbaren JVMs
und aktualisieren Sie das .bash_profile mit der relevanten Version
und schlussendlich
quelle
Mit Homebrew installieren
Die vor dem 3. Oktober 2018 in Homebrew Cask verfügbare Java-Version war in der Tat die Oracle JVM. Jetzt wurde es jedoch auf OpenJDK aktualisiert. Stellen Sie sicher, dass Sie Homebrew aktualisieren. Anschließend wird die neueste für die Installation verfügbare Version angezeigt.
1. Installieren Sie Homebrew, falls Sie dies noch nicht getan haben. Stellen Sie sicher, dass es aktualisiert wird:
2. Fügen Sie den Fasshahn hinzu, falls Sie dies noch nicht getan haben (oder ältere Java-Versionen mit Schritt 3 nicht mehr sehen):
3. Fügen Sie für die AdoptOpenJDK-Versionen diesen Tipp hinzu:
Diese Fässer ändern häufig ihre Java-Versionen, und es gibt möglicherweise andere Abgriffe mit zusätzlichen Java-Versionen.
4. Suchen Sie nach installierbaren Versionen:
oder für AdoptOpenJDK-Versionen:
5. Überprüfen Sie die Details der zu installierenden Version:
oder für die AdoptOpenJDK-Version:
6. Installieren Sie eine bestimmte Version des JDK, z. B. java11, adoptopenjdk8 oder nur Java oder adoptopenjdk für die aktuelle Version. Zum Beispiel:
Sie können auch den vollständig qualifizierten Pfad zu älteren Versionen verwenden:
quelle
Sie können dies versuchen:
quelle
Einfachster Weg
PS - Cask ist eine Erweiterung von Homebrew, die große Mac-Binärdateien und grafische Anwendungen verwalten soll, jedoch die Homebrew-Oberfläche verwendet. Siehe auch diese Antwort auf Apple StackExchange.
quelle
Versuchen :
Brew Cask Install Java 8 ,, es wird das folgende Ergebnis geben
8tracksradiohelper adoptopenjdk8 amitv87-pip corretto8 icons8 vmware-fusion8 x48 zulu8
Als nächstes geben Sie ein: Brew Cask Install adoptopenjdk8 ---- Java 8 wird auf dem Mac installiert.
quelle
Ich würde vorschlagen, den SDK-Mann zu verwenden, der die Version (vorübergehend und dauerhaft) recht einfach ändern kann und auch andere SDKs bereitstellt. Ich benutze den SDK-Mann seit mehr als einem Jahr.
https://sdkman.io/
quelle
Ab dem 3. Mai 2020 verfügt diese Website über einen Download-Link für jre8u251: https://java.com/en/download/mac_download.jsp
quelle
Die folgenden Schritte haben bei mir funktioniert.
1) Deinstallieren Sie alle JDKS
Kopieren Sie im Terminalfenster den folgenden Befehl und fügen Sie ihn ein:
2) Installieren Sie APPLE jdk.
https://support.apple.com/kb/DL1572?locale=de_DE
3) Laden Sie das neueste JDK von Oracle herunter und installieren Sie es. Für mich war es JDK 1.82
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
Das ist alles, was es wie ein Zauber wirken wird.
quelle