Wie kann ich unter MacOS ein zusätzliches Java installieren? Ich habe jdk8 installiert und das funktioniert gut. Aber jetzt brauche ich eine jdk7-Installation für Entwicklungszwecke. Beim Versuch, die alte Version per DMG-Datei zu installieren, erhalte ich eine Warnung, dass bereits eine neuere Version von Java installiert ist, und der Installer wird beendet.
Warnung: Die von den Top-Antworten empfohlenen Homebrew-Java-Installationsbefehle funktionieren nicht mehr. Siehe meine Antwort für die neuesten Befehle oder diese erstaunliche Antwort, die alle neuesten Befehle mit detaillierten Erklärungen zu den verschiedenen Ansätzen enthält.
– Befugnisse
8. November 20 um 12:45 Uhr
Adrian Be
Der sauberste Weg, mehrere Java-Versionen auf dem Mac zu verwalten, ist die Verwendung von Homebrew.
Und innen Homebrewbenutzen:
homebrew-cask um die Java-Versionen zu installieren
jenv um die installierten Java-Versionen zu verwalten
Dann können Sie sich alle verfügbaren Versionen ansehen:
brew search java
Dann können Sie die gewünschte(n) Version(en) installieren:
brew cask install java7
brew cask install java6
Und fügen Sie sie hinzu, damit sie wie gewohnt von jenv verwaltet werden.
jenv add <javaVersionPathHere>
Ich denke, das ist der sauberste und einfachste Weg, dies zu tun.
Eine weitere wichtige Sache zu beachten, wie in Mac OS X 10.6.7 Java Path Current JDK verwirrend erwähnt:
Für verschiedene Arten von JDKs oder Installationen haben Sie unterschiedliche Pfade
Sie können die Pfade der installierten Versionen mit überprüfen /usr/libexec/java_home -Vsiehe Wie überprüfe ich, ob das Java JDK auf dem Mac installiert ist?
Auf Mac OS X Mavericks habe ich Folgendes gefunden:
Es wäre gut zu erwähnen, dass Homebrew-Cask mit Befehl installiert werden kann brew install caskroom/cask/brew-cask anstatt brew install cask das ist ein Emacs-Plugin.
– Unnawut
24. September 15 um 20:14 Uhr
Bei der Implementierung dieser Lösung bin ich auf einige Probleme gestoßen, von denen eines mit war jenv Rückgabe der No such file or directory. Error. Dieses Wiki hat mir geholfen, es zu lösen. github.com/gcuisinier/jenv/wiki/Trouble-Shooting
– Juli
22. August 16 um 20:41 Uhr
Ich würde hinzufügen, dass alle Java-Installationen enthalten wären /Library/Java/JavaVirtualMachines/ und beim Hinzufügen mit jenv add Sie fügen einen Pfad hinzu, der so aussieht /Library/Java/JavaVirtualMachines/[specific-version]/Contents/Home/. Beifall!
– Nikolaj Zenkow
11. Oktober 16 um 9:28 Uhr
Ab dem 23. Juni 2017 laufe ich brew cask search java7 aber es wurde kein Fass für “java7” gefunden.
– Mingliang Liu
24. Juni 17 um 0:37 Uhr
@MingliangLIU ja ich auch … es ist wirklich scheiße. Ich habe diesbezügliche Probleme auf Github gefunden, wo einige Problemumgehungen erwähnt wurden, aber ich konnte es nicht zum Laufen bringen. Also musste ich es “manuell” über die Webseiten “Java-Versionen herunterladen und installieren” von Apple und Oracle machen. Dann mit /usr/libexec/java_home -V um die Pfade zu überprüfen, wo diese installiert wurden.
– Adrien Be
27. Juni 17 um 16:44 Uhr
Vegard
Deinstallieren Sie jdk8, installieren Sie jdk7 und installieren Sie dann jdk8 neu.
Mein Ansatz zum Wechseln zwischen ihnen (in .profile):
export JAVA_7_HOME=$(/usr/libexec/java_home -v1.7)
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_9_HOME=$(/usr/libexec/java_home -v9)
alias java7='export JAVA_HOME=$JAVA_7_HOME'
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java9='export JAVA_HOME=$JAVA_9_HOME'
#default java8
export JAVA_HOME=$JAVA_8_HOME
Dann kannst du einfach tippen java7 oder java8 in einem Terminal, um die Versionen zu wechseln.
(Bearbeiten: aktualisiert, um Dylans-Verbesserung für Java 9 hinzuzufügen)
Bisher ist das für mich die beste Option. kann mit nur einem einfachen Befehl “java8” oder “java7” leicht zu jeder Version wechseln. Danke für die Hilfe
– MHM Masud
10. August 15 um 17:08 Uhr
Toll ! 🙂 Und für andere wie mich können Sie ls /Library/Java/JavaVirtualMachines verwenden, um zu sehen, welche Versionen verfügbar sind. Dann können Sie verschiedene 1.8.x-Versionen einschalten. Außerdem müssen Sie export PATH=$JAVA_HOME/bin:$PATH hinzufügen
– Nico
3. März 16 um 16:44 Uhr
Danke für diesen. Ich wollte nur erwähnen, dass ich dies geschafft habe, indem ich jdk7 nach jdk8 installiert habe (jdk8 muss nicht deinstalliert werden).
– Titus
21. Juli 16 um 10:36 Uhr
Keine Ahnung, warum ich meine Zeit mit jenv verschwendet habe, da dies einfach funktioniert und Ihren Shell-Start nicht um 0,5 s mit jenv init überfüllt.
– cvakiitho
22. August 17 um 13:14 Uhr
Wenn Sie versuchen, Java 9 auf diese Weise zum Laufen zu bringen, sollte das Versionsargument für java_home für Java 9 einfach lauten 9 z.B export JAVA_9_HOME=$(/usr/libexec/java_home -v9)
– Dylan Nissley
10. Oktober 17 um 10:27 Uhr
Bob
Für macOS Sierra 420
Diese Anleitung wurde aus verschiedenen Quellen zusammengeschustert (Antworten oben sowie andere Beiträge) und funktioniert perfekt.
0. Falls noch nicht geschehen, installieren Sie Homebrew.
10. Festlegen der zu verwendenden Java-Version (global)
Wobei XX mit einem der Elemente in der obigen Versionsliste übereinstimmt.
jenv global XX
Überprüfen Sie die Java-Version
java -version
Überprüfen Sie die jenv-Versionen
Sollte auch die aktuell verwendete Version mit einem Sternchen angeben.
jenv versions
FERTIG
Schnelle zukünftige Referenz
Um Java-Versionen zu ändern
… Sehen Sie sich die Liste der verfügbaren Java-Versionen an
jenv versions
… dann, wobei XX mit einem Element in der obigen Liste übereinstimmt
jenv global XX
Starten Sie außerdem Ihr Terminal danach neu brew cask install java*
– quetschen
22. November 18 um 2:29 Uhr
Klare und großartige Erklärung Schritt für Schritt.
– Ritesh Singh
12. März 19 um 16:37 Uhr
Fehler: Cask ‘java8’ ist nicht verfügbar: Es existiert kein Cask mit diesem Namen.
– Alexey Sh.
27. August 19 um 9:53 Uhr
java8/9/10 sind nicht mehr als Fässer verfügbar. Versuchen Sie stattdessen Folgendes: ” brew cask install adoptopenjdk/openjdk/adoptopenjdk8 “
– super
5. September 19 um 2:49 Uhr
brew tap caskroom/versions sollte sein brew tap homebrew/cask-versions
– Wjatscheslaw Cotruta
20. September 19 um 11:09 Uhr
Michael Ostern
SDKMAN! ist ein großartiges Tool für die Verwendung mehrerer Versionen von Java, Gradle, Groovy, Kotlin und anderen JVM-Tools unter Mac OS. Installations- und Nutzungsdokument sind einfach auf der Hauptseite.
(Ich habe keine Zugehörigkeit, nur ein glücklicher Benutzer).
Als Beispiel für die Verwendung, wenn ich Folgendes in ein Terminalfenster eingebe, gibt es eine Liste der verfügbaren Java SDK-Versionen (der Kürze halber bearbeitet):
$ sdk list java
Available Java Versions
+ 9ea170
> + 8u131
7u141-zulu
Hier + zeigt an, dass die Version installiert ist. > gibt an, welche Version gerade verwendet wird. So installieren Sie eine Version:
$ sdk install java 7u141-zulu
So verwenden Sie eine Version in diesem Terminalfenster:
$ sdk use java 9ea170
Zunächst müssen Sie sicherstellen, dass Sie mehrere JAVA-Versionen installiert haben. Öffnen Sie ein neues Terminalfenster und geben Sie Folgendes ein:
/usr/libexec/java_home -V
Ihre Ausgabe sollte wie folgt aussehen:
Matching Java Virtual Machines (2):
11.0.1, x86_64: "Java SE 11.0.1" /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
1.8.0_201, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home
Beachten Sie, dass zwei JDKs verfügbar sind. Wenn Sie die Java-Version, zu der Sie wechseln müssen, nicht bemerken, laden Sie die entsprechende Version von hier herunter und installieren Sie sie (JDK 8 wird als 1.8 dargestellt). Wiederholen Sie diesen Schritt, nachdem Sie das entsprechende JDK installiert haben.
Notieren Sie sich die JDK-Version, zu der Sie wechseln möchten. Beispielsweise sind „11.0“ und „1.8“ die JDK-Versionen, die im obigen Beispiel verfügbar sind.
Wechseln Sie zur gewünschten Version. Wenn Sie beispielsweise zu JDK 8 wechseln möchten, geben Sie die folgende Zeile ein:
export JAVA_HOME=/usr/libexec/java_home -v 1.8
Tauschen Sie für 11.0 „1.8“ mit „11.0“ aus. 4. Überprüfen Sie Ihre JDK-Version, indem Sie Folgendes in das Terminal eingeben:
java -version
Wenn Sie alle Schritte korrekt ausgeführt haben, sollte die JDK-Version mit der übereinstimmen, die Sie im letzten Schritt angegeben haben. 5. (Optional) Um dies zur Standard-JDK-Version zu machen, geben Sie Folgendes in Terminal ein:
open ~/.bash_profile
Fügen Sie dann Ihre Terminal-Eingabe aus Schritt 3 zu dieser Datei hinzu:
AUF JAVA-VERSION 8 WECHSELN
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
Speichern und schließen Sie die Datei.
Wie auf diesem gefunden Webseite
Beginnen wir also mit der Installation von jEnv
if which jenv > /dev/null; then eval "$(jenv init -)"; fi
Wenn Sie jEnv zum ersten Mal installieren, ist ihm kein JDK zugeordnet.
Zum Beispiel habe ich gerade JDK 8 installiert, aber jEnv weiß nichts davon. Um Java-Versionen auf jEnv zu überprüfen
Im Moment wurde nur die Java-Version (jre) auf dem System gefunden. Der * zeigt die aktuell ausgewählte Version. Im Gegensatz zu rvm und rbenv kann jEnv JDK nicht für Sie installieren. Sie müssen JDK manuell von der Oracle-Website installieren.
Installieren Sie JDK 6 von der Apple-Website. Dadurch wird Java installiert /System/Library/Java/JavaVirtualMachines/. Der Grund, warum wir Java 6 von der Apple-Website installieren, ist, dass SUN kein JDK 6 für MAC entwickelt hat, sodass Apple seine eigene Bereitstellungsversion erstellt/modifiziert hat.
Installieren Sie auf ähnliche Weise JDK7 und JDK8.
Fügen Sie jEnv JDKs hinzu.
JDK 6:
JDK7:
JDK8:
Überprüfen Sie die installierten Java-Versionen mit jenv
Jetzt haben wir also 3 Versionen von Java auf unserem System. Verwenden Sie den Befehl, um eine Standardversion festzulegen
jenv local <jenv version>
Beispiel: Ich wollte, dass Jdk 1.6 IntelliJ startet
jenv local oracle64-1.6.0.65
Überprüfen Sie die Java-Version
Java-Version
Das ist es. Wir haben jetzt mehrere Java-Versionen und können problemlos zwischen ihnen wechseln. jEnv hat auch einige andere Funktionen, wie Wrapper für Gradle, Ant, Maven usw. und die Möglichkeit, JVM-Optionen global oder lokal festzulegen. Weitere Informationen finden Sie in der Dokumentation.
York Yang
Ich finde diesen Java-Versionsmanager namens Jabba kürzlich und die Verwendung ist Versionsmanagern anderer Sprachen wie rvm (ruby), nvm (node), pyenv (python) usw. sehr ähnlich. Außerdem ist es plattformübergreifend, sodass es definitiv auf Mac verwendet werden kann.
Nach der Installation wird ein Verzeichnis in ~/.jabba erstellt, in dem alle installierten Java-Versionen abgelegt werden. Es “unterstützt die Installation von Oracle JDK (Standard) / Server JRE, Zulu OpenJDK (seit 0.3.0), IBM SDK, Java Technology Edition (seit 0.6.0) und von benutzerdefinierten URLs.”.
Die grundlegende Verwendung ist auf ihrem Github aufgeführt. Eine kurze Zusammenfassung zum Start:
curl -sL https://github.com/shyiko/jabba/raw/master/install.sh | bash && . ~/.jabba/jabba.sh
# install Oracle JDK
jabba install 1.8 # "jabba use 1.8" will be called automatically
jabba install 1.7 # "jabba use 1.7" will be called automatically
# list all installed JDK's
jabba ls
# switch to a different version of JDK
jabba use 1.8
.
7791700cookie-checkMac OS X und mehrere Java-Versionenyes
Warnung: Die von den Top-Antworten empfohlenen Homebrew-Java-Installationsbefehle funktionieren nicht mehr. Siehe meine Antwort für die neuesten Befehle oder diese erstaunliche Antwort, die alle neuesten Befehle mit detaillierten Erklärungen zu den verschiedenen Ansätzen enthält.
– Befugnisse
8. November 20 um 12:45 Uhr