Mac OS X und mehrere Java-Versionen

Lesezeit: 11 Minuten

Mac OS X und mehrere Java Versionen
Dakar

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.

    /usr/libexec/java_home -verbose
    Matching Java Virtual Machines (1):
        1.8.0_20, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home

       /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home

Wie installiere ich zusätzlich zu diesem jdk7?

  • 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

1644040030 269 Mac OS X und mehrere Java Versionen
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

Wie gesehen bei http://hanxue-it.blogspot.ch/2014/05/installing-java-8-managing-multiple.html dies sind die Schritte, die Sie befolgen müssen.

  1. Homebrew installieren
  2. Homebrew-Jenv installieren
  3. Homebrew-Fass installieren
  4. Installieren Sie eine bestimmte Java-Version mit Cask (siehe Abschnitt “Homebrew-Cask-Versionen” weiter unten).
  5. fügen Sie diese Version für jenv hinzu, um sie zu verwalten
  6. Überprüfen Sie, ob die Version von jenv korrekt verwaltet wird
  7. Wiederholen Sie die Schritte 4 bis 6 für jede Java-Version, die Sie benötigen

Homebrew-Cask-Versionen

Ergänzen Sie die homebrew/cask-versions Tippen Sie auf Homebrew mit:

brew tap homebrew/cask-versions

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:

1) Eingebauter JRE-Standard: /Library/Internet
Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

2) Von Apple heruntergeladene JDKs: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/

3) Von Oracle heruntergeladene JDKs: /Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home


Ressourcen

  • 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


1644040030 925 Mac OS X und mehrere Java Versionen
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

Mac OS X und mehrere Java Versionen
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.

Sehen https://brew.sh/

1. Installieren Sie jenv

brew install jenv

2. Fügen Sie jenv zum Bash-Profil hinzu

if which jenv > /dev/null; then eval "$(jenv init -)"; fi

3. Fügen Sie Ihrem Pfad jenv hinzu

export PATH="$HOME/.jenv/shims:$PATH"

4. Tippen Sie auf „Caskroom/Versionen“

FYI: “Tap” erweitert die Liste der verfügbaren Repos von Brew, die es installieren kann, über die Standardliste der verfügbaren Repos von Brew hinaus.

brew tap caskroom/versions

5. Installieren Sie die neueste Java-Version

brew cask install java

6. Installieren Sie Java 6 (oder 7 oder 8, was immer Sie brauchen)

brew cask install java6
#brew cask install java7
#brew cask install java8

? Schließen Sie möglicherweise Terminal und starten Sie es neu, damit alle neuen ENV-Variablen angezeigt werden, die eingerichtet wurden.

7. Überprüfen Sie die Installationen

Alle Java-Versionen werden hier installiert: /Library/Java/JavaVirtualMachines Lass uns mal sehen.

ls -la /Library/Java/JavaVirtualMachines

8. Fügen Sie jeden Pfad einzeln zu jenv hinzu.

Wir müssen “/Contents/Home” zum Versionsordner hinzufügen. WARNUNG: Verwenden Sie die tatsächlichen Pfade auf Ihrem Computer … das sind nur BEISPIEL‘S

jenv add /Library/Java/JavaVirtualMachines/1.6.0___EXAMPLE___/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk___EXAMPLE___/Contents/Home

9. Überprüfen Sie, ob jenv OK registriert ist

jenv versions

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

Mac OS X und mehrere Java Versionen
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.

  1. 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.

  2. 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

  1. Führen Sie dies im Terminal aus

    brew install https://raw.github.com/gcuisinier/jenv/homebrew/jenv.rb
    
  2. Fügen Sie jEnv zum Bash-Profil hinzu

    if which jenv > /dev/null; then eval "$(jenv init -)"; fi
    
  3. 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.

  4. 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.

  5. Installieren Sie auf ähnliche Weise JDK7 und JDK8.

  6. Fügen Sie jEnv JDKs hinzu.

    JDK 6:

    JDK7:
    http://javahabi@javahabit.com/wp-content/uploads/2015/03/img_5518ab9bc47d4.png

    JDK8:
    http://javahabi@javahabit.com/wp-content/uploads/2015/03/img_5518abb2c1217.png

  7. Überprüfen Sie die installierten Java-Versionen mit jenv

    http://javahabi@javahabit.com/wp-content/uploads/2015/03/img_5518abceb0deb.png

  8. 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
    
  9. Überprüfen Sie die Java-Version

    Java-Version
    http://javahabi@javahabit.com/wp-content/uploads/2015/03/img_5518abe376dd0.png

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.

1644040031 484 Mac OS X und mehrere Java Versionen
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

.

779170cookie-checkMac OS X und mehrere Java-Versionen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy