Wie installiere ich ein bestimmtes JDK unter Mac OS X?

197

Ich möchte ein bestimmtes JDK installieren (das neueste zum Beispiel). Dafür bin ich auf die JDK-Download-Homepage gegangen: http://java.sun.com/javase/downloads/index.jsp . Ich habe nach einer Mac-Version gesucht, bin aber etwas überrascht, nur herunterladbare Versionen für Linux, Windows und Solaris zu sehen ...

Hier ist die Nachricht für Mac:

"Apple Computer bietet eine eigene Java-Version an. Verwenden Sie die Software-Update-Funktion (im Apple-Menü verfügbar), um zu überprüfen, ob Sie die aktuellste Java-Version für Ihren Mac haben."

OK ABER ... wenn ich Java mit Mac aktualisiere, habe ich eine JRE und kein JDK ...

Ich verstehe nicht, warum es keine JDK-Version gibt, die für Mac leicht heruntergeladen / installiert werden kann (wie ein Glas zum Entpacken?) ...

Ajeanson
quelle
70
Berühmte Frage ... Sie sollten eine Antwort akzeptieren. ;)
Gary
Fink bietet hierfür eine Lösung.
Daniel
10
Beachten Sie, dass Java 7 jetzt von Oracle bereitgestellt wird - die meisten Antworten und die Questio beziehen sich auf einen früheren Status
mmmmmm
Siehe auch: Java 11 für macOS beziehen?
Basil Bourque

Antworten:

44

In einem Kommentar unter @ Thilos Antwort fragte @mobibob, wie JAVA_HOME in Ihrem .bash_profile auf einem Mac festgelegt werden soll. Antworten:

export JAVA_HOME=`/usr/libexec/java_home` 

Dadurch wird JAVA_HOME dynamisch der Speicherort des ersten JDK zugewiesen, das auf der Registerkarte "Allgemein" des Dienstprogramms "Java-Einstellungen" aufgeführt ist.

Siehe Apple Technical Q & A 1170: https://developer.apple.com/library/content/qa/qa1170/_index.html

BEARBEITEN:

Wenn Sie für die Befehlsersetzung Klammern gegenüber Backticks bevorzugen, funktioniert dies auch:

export JAVA_HOME=$(/usr/libexec/java_home)
Mark Tye
quelle
20

Wie in der Nachricht angegeben, müssen Sie für Java auf dem Mac zu Apple und nicht zu Sun wechseln. Soweit ich weiß, ist Apple JDK 6 standardmäßig unter Mac OS X 10.6 (Snow Leopard) installiert. Möglicherweise müssen Sie die Entwicklertools von Ihrer Mac OS X-Installations-DVD installieren (die Entwicklertools sind eine optionale Installation von der OS-DVD).

Siehe: http://developer.apple.com/java/

HINWEIS Diese Antwort vom 16. Oktober 2009 ist jetzt veraltet. Sie können das JDK für Mac OS X jetzt von der regulären JDK-Download-Seite auf der Oracle-Website herunterladen .

Jesper
quelle
10

Für Benutzer von LION OS X 10.7.X.

Sie haben Java SE 6 Version 1.6.0_26 hochgeladen, die hier verfügbar ist

http://support.apple.com/kb/dl1421

Roy Calderon
quelle
3
Aaand, sie haben es durch _29 ersetzt, das den MS SQL-Fehler hat. Toll. :(
Carighan
10

Ich habe gestern ein MacBook Pro gekauft ( Mac OS X 10.8 (Mountain Lion)) und standardmäßig ist kein JDK installiert ...

Neben javac fand ich auch, dass keine Pakete wie SVN installiert waren. Es stellt sich heraus, dass Sie alles von der Apple-Entwicklerseite erhalten können (Sie müssen sich bei Ihrer AppleID registrieren). SVN ist Teil des Pakets "Command Line Tools".

Geben Sie hier die Bildbeschreibung ein

Folgendes passiert auf einem neuen MacBook:

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Hoffentlich hilft das anderen Neulingen wie mir;)

matte Verbrennungen
quelle
5
+1. Mit Mountain Lion hat sich die Situation etwas geändert. Beachten Sie auch, dass Apple zwar die optionale Java-Installation anbietet, diese jedoch nur von älterem Java 6 stammt. Aktuelle Versionen von Java für OS X werden jetzt von Oracle selbst vertrieben.
Thilo
4

Die Erklärung ist, dass JDK etwas spezifisch ist und nicht die Bibliothek tools.jar enthält . Für meine Entwicklung benötige ich diese Bibliothek und das JDK von Mac bietet sie nicht an:

(Vgl. Http://developer.apple.com/mac/library/documentation/Java/Conceptual/Java14Development/02-JavaDevTools/JavaDevTools.html )

tools.jar existiert nicht. Klassen, die sich normalerweise hier befinden, sind stattdessen in classes.jar enthalten. Skripte, die auf der Existenz von tools.jar beruhen, müssen entsprechend umgeschrieben werden.

Es nervt!

Ajeanson
quelle
1
Ahhhhhhh !!! Wie Sie festgestellt haben, tools.jarist es bereits in der Laufzeit für Mac OS X enthalten. Das Suchen nach tools.jarist also nicht der richtige Ansatz für Mac, um
festzustellen
Vielen Dank für Ihre Antwort, Sie haben Recht. Mein Bedürfnis war es, die tools.jar lib für ein bestimmtes Projekt zu bekommen und für mich war es ein Ansatz, ein jdk zu erkennen;)
ajeanson
4

Am einfachsten ist es, Homebrew zu verwenden . Installieren Sie Homebrew und dann:

brew tap caskroom/versions
brew cask install java7

Sie können alle verfügbaren Versionen mit dem folgenden Befehl auflisten: brew cask search java

Solomkinmv
quelle
3

Beim Kompilieren mit -source 1.5 -target 1.5 (in einer JDK 6-Umgebung) werden nur Sprachelemente berücksichtigt, die in Version 1.5 und früher enthalten waren. Toll. Aber es gab sowieso keine Sprachänderungen in 6. Das Problem bei diesem Ansatz (auf einem Mac mit 1.6) ist, dass die Verwendung von Klassen, die NACH 1.5 kamen, weiterhin kompiliert wird, da sie in der Datei rt.jar vorhanden sind. Man könnte also in einer Umgebung von 1.5 laufen und eine Ausnahme erhalten, die beim Kompilieren ohne vorherige Warnung nicht gefunden wurde. Ich habe das auf die harte Tour mit javax.swing.event.RowSorterEvent / Listener herausgefunden. Beide haben "Since 1.6" eingegeben, werden aber nicht mit -source 1.5 abgefangen

Evan
quelle
3

Wenn Sie Brew installiert haben, ist cmd unten hilfreich:

Braufass Java installieren

Schwerfällig
quelle
Brauen? Meinst du Homebrew ?
Peter Mortensen
3

Ab Mac OS X 10.6 (Snow Leopard) können Sie Java 6 im 32-Bit-Modus auf Macs mit 32-Bit- oder 64-Bit- Intel- Prozessor ausführen.

Wenn Sie kein Upgrade auf Snow Leopard durchführen können, ist Soy Latte eine vorkompilierte Version von Java 6 für Intel 32-Bit.

Brian M. Carr
quelle
1

Ich denke, diese andere Frage zum Stapelüberlauf könnte helfen:

So erhalten Sie JDK 1.5 unter Mac OS X.

Wenn Sie eine Java-Anwendung mit einer älteren Version des JDK (z. B. 1.4 oder 1.5) kompilieren oder ausführen müssen, können Sie dies mit 1.6 tun, da diese abwärtskompatibel ist. Dazu müssen Sie den Parameter -source 1.5und / oder -target 1.5in den Javac-Optionen oder in Ihrer IDE hinzufügen .

Fgblanch
quelle
1

JDK ist das Java Development Kit (zur Entwicklung von Java-Software).

JRE ist die Java-Laufzeitumgebung (zum Ausführen einer beliebigen JAR-Datei 'Java-Software').

Das JDK enthält eine JRE.

Unter Windows wird beim Aktualisieren von Java die JRE automatisch aktualisiert.

Auf einem Mac ist keine JRE getrennt, aber im JDK. Wenn Sie also Java aktualisieren, wird Ihre JRE aktualisiert, die sich in Ihrem JDK befindet. Es wird kein JDK für Sie installiert. Sie müssen es von woanders bekommen.

Peter Mortensen
quelle
1
Ich denke, Sie meinten JDK anstelle von IDK. Ich habe versucht zu bearbeiten, aber Stack Overflow sagte, dass die Änderungen länger als 6 Zeichen sein müssen. Ich erwähne es nur, um Verwirrung zu vermeiden.
Webworm
1

Überprüfen Sie dieses fantastische Tool sdkman , um Ihr JDK und andere JDK-bezogene Tools mit Leichtigkeit zu verwalten!

z.B

$sdk list java
$sdk install java <VERSION>
Rishikesh Darandale
quelle
1

Da die meisten Antworten veraltet sind, gilt Folgendes ab Ende 2018 unter der Annahme, dass

  1. Sie möchten die GPL-Version von OpenJDK installieren. [0]
  2. Sie möchten Homebrew nicht installieren

In diesem Fall können Sie die gewünschte Version aus einer der vielen verfügbaren, frei verwendbaren OpenJDK-Editionen herunterladen, z.

Einige davon enthalten Installationsprogramme. Andernfalls können Sie Folgendes tun. Vorausgesetzt hier Version 11.0.1 für Mac. Führen Sie in Ihrer Lieblings-Shell Folgendes aus:

tar -xzf openjdk-11.0.1_osx-x64_bin.tar.gz
sudo mv jdk-11.0.1.jdk /Library/Java/JavaVirtualMachines
# Fix owner and group
sudo chown -R root:wheel /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk
# (Optional) Check if the new JDK can be found
/usr/libexec/java_home
=> /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home

[0] Beachten Sie, dass das JDK der Marke Oracle erhebliche Lizenzbeschränkungen aufweist, sodass Sie es grundsätzlich nur zum Testen verwenden können, dh nicht für die Produktion. Wenn Sie keine Supportvereinbarung mit Oracle haben, erscheint es mir riskant, das JDK zu verwenden, zumal die Unterschiede zu OpenJDK minimal sind .

Bearbeiten: Weitere Auswahlmöglichkeiten hinzugefügt

LCC
quelle
1
Ich empfehle Ihnen, auf das Herunterladen von AdoptOpenJDK.net hinzuweisen und dann Ihren Anweisungen zu folgen, um die rechtlichen und Support-Probleme der Oracle-Versionen zu vermeiden.
Basil Bourque
0

In der Regel können Sie keine anderen Java-Versionen auf einem Mac installieren als die von Apple über Software Update bereitgestellten. Wenn Sie Java 6 benötigen, benötigen Sie einen 64-Bit-Intel-Computer. Sie sollten immer Java 5 und 1.4 und möglicherweise 1.3 installiert haben, wenn Sie mindestens OS X 10.4 haben.

Wenn Sie SEHR viel Ellbogenfett haben und bereit sind, mit Beta-Software zu arbeiten, können Sie das OpenJDK unter OS X installieren, aber ich glaube nicht, dass Sie dorthin wollen.

Thorbjørn Ravn Andersen
quelle
Ich weiß, deshalb habe ich diesen Kommentar hinzugefügt. Vielleicht hätte ich einen etwas längeren Kommentar zum Link
schreiben sollen