Gastbeitrag: Java 1.6 mit OpenJDK auf Mac OS X (HowTo)
Vor ein paar Tagen gab es für die mit Java entwickelnden Mac-User eine erfreuliche Nachricht: Eine erste Beta des OpenJDK 1.6 ist erschienen. Was es damit auf sich hat, wie man es installiert und worauf besonders zu achten ist erfahrt ihr in diesem Artikel.
Man kennt das ewige Leid: Apple schafft es, chice Laptops zu bauen, ein gut durchdachtes und performantes Betriebssystem zu programmieren, die Mobilfunksparte ordentlich aufzumischen… und gleichzeitig die Java-Nutzer zu vernachlässigen. Für uns Java-Entwickler ist es aber wichtig, die aktuellen Versionen einsetzen zu können.
Unter Mac OS 10.5 (Leopard)
Vor ein paar Tagen gab es für die mit Java entwickelnden Mac-User eine erfreuliche Nachricht: Eine erste Beta des OpenJDK 1.6 ist erschienen. Was es damit auf sich hat, wie man es installiert und worauf besonders zu achten ist erfahrt ihr in diesem Artikel.

Man kennt das von Apple: die Firma aus Cupertino schafft es, chice Laptops zu bauen, ein gut durchdachtes und performantes Betriebssystem zu programmieren, die Mobilfunksparte ordentlich aufzumischen… und gleichzeitig die Java-Nutzer zu vernachlässigen. Für uns Java-Entwickler ist es aber wichtig, die aktuellen Versionen einsetzen zu können.
Unter Mac OS 10.5 (Leopard) gibt es seit geraumer Zeit Java in der Version 1.6 – jedoch nur für 64bit-Intel-Maschinen und nur spärlich mit Updates beglückt.
Mac OS 10.4 (Tiger) -Nutzer wie ich durften nur zuschauen, oder auf Alternativen zurückgreifen.

Die bisher bekannteste Alternative war SoyLatte, ein Projekt von Landon Fuller, welches zum Ziel hatte, auf möglichst einfachem Weg eine aktuelle Java-Version für Leopard und Tiger (auf Intel laufend) zur Verfügung zu stellen. Dank der Integration in das OpenJDK-Projekt besitzt es jetzt offizielleren Charakter, möchte das JDK in Version 7 zusammen mit dem offiziellen Sun-Release veröffentlichen und hat erste Früchte (nämlich diese erste Beta) getragen.

Die Installation dieser Beta ist erstaunlich einfach und bedeutet für euch keine große Manipulation des OS. Das Apple-JDK bleibt auf der Platte und kann jederzeit wieder “reaktiviert” werden. Jedoch sind wie immer alle Angaben ohne Gewähr. Probleme und Warnungen folgen am Ende dieses Artikels, da ich hoffe, dass die Kommentare auch noch einiges zutage fördern.

Legen wir also los:

  1. Zunächst solltet ihr euch auf der SoyLatte-Homepage die schon kompilierte und gepackte Beta herunterladen. Falls Benutzername und Password benötigt werden: “jrl” und “I am a Licensee in good standing”
  2. Entpackt das Archiv in ein von euch gewähltes Verzeichnis. Bei mir ist es “/Users/Benni/Studium/tools/Java 1.6″. Der komplette Pfad lautet dann also “/Users/Benni/Studium/tools/Java 1.6/openjdk6-b16-24_apr_2009-r1″, wobei ihr den entpackten Ordner auch gerne noch umbenennen dürft. Der gesamte Pfad heißt für dieses HowTo ab jetzt OpenJDK-Pfad.
  3. Jetzt wirds ein wenig technisch, aber nicht allzu schwer. Falls ihr bereits ein Login-Skript namens “.bash_login” besitzt (z.B. weil ihr Maven nutzt), dann öffnet es jetzt mit TextEdit. Ansonsten einfach TextEdit starten.
  4. Folgendes sollte hingeschrieben werden:export JAVA_16_OPENJDK=OpenJDK-Pfad
    export JAVA_16_OPENJDK_HOME=${JAVA_16_OPENJDK}/bin
    export JAVA_HOME=${JAVA_16_OPENJDK}
    export PATH=§{JAVA_16_OPENJDK_HOME}:§{PATH}
    export PATH=§{JAVA_HOME}:§{PATH}

    Das sieht dann bei mir wie folgt aus:

    export JAVA_16_OPENJDK=/Users/Benni/Studium/tools/Java\ 1.6/openjdk6-b16-24_apr_2009-r1
    export JAVA_16_OPENJDK_HOME=${JAVA_16_OPENJDK}/bin
    export JAVA_HOME=${JAVA_16_OPENJDK}
    export PATH=${JAVA_16_OPENJDK_HOME}:${PATH}
    export PATH=${JAVA_HOME}:${PATH}

    Beachtet: In meiner Pfadangabe befindet sich ein Leerzeichen (in “Java 1.6″). Habt ihr ein solches auch drin, dann muss dieses mit “\” eingeleitet werden, sonst ist der Befehl an der Stelle vorbei (und leider unvollständig)

  5. Nun heißt es, das Skript zu speichern. Falls es neu erstellt wurde: Speichert es in eurem Home-Verzeichnis unter dem Namen “.bash_login” ab und lasst dabei das Suffix weg (siehe Abbildung). TextEdit wird euch warnen, dass Dateien, die mit einem Punkt beginnen, dem System vorbehalten sind und diese unsichtbar gemacht werden. Aber genau das wollen wir ja ;) Die in dieser Datei stehenden Befehle werden nämlich jedes mal ausgeführt, wenn ihr euch einloggt. Schaut euch dafür noch mal sicherheitshalber den Screenshot an:
  6. Eure Installation ist damit quasi fertig! Wenn ihr jetzt ein neues Terminal-Fenster aufmacht, führt OS X das Login-Skript für euch aus. Wenn ihr jetzt “java -version” eingebt, sollte euer Terminal sehr ähnlich zu meinem aussehen:
  7. Jetzt noch, um auch außerhalb von Terminal mit dem OpenJDK unterwegs zu sein, einmal abmelden (auf den Apfel oben links klicken und “abmelden”) und dann wieder anmelden oder den Mac neustarten.
  8. Voilà!
Wie versprochen, gibt es hier noch ein paar Anmerkungen und Warnhinweise:
  • Die OpenJDK 1.6 Beta 1 steht unter der GPL v2 mit Classpath-Erweiterung
  • Mac OS X-native Grafiken werden nicht unterstützt, die grafische Ausgabe erfolgt mit X11
  • Die Beta wurde bisher nur unter Leopard getestet (und bei mir heute in ersten Schritten)
  • Aufgrund der veränderten JAVA_HOME-Variablen greifen auch Tools wie Maven auf das OpenJDK zu. Hier hat sich bei uns heute gezeigt, dass das OS unter Umständen falsch erkannt wird, wie auf folgendem Screenshot (links mit Apple-JDK 1.5, rechts mit OpenJDK) zu sehen ist:
Eine Anleitung, wie man Eclipse dieses JDK bekannt macht, um damit zu arbeiten, folgt die nächsten Tage. Für Erfahrungen, Anmerkungen, Korrekturen etc. ist wie immer der Kommentarbereich da.
Viel Spaß mit einem von Apple unabhängigen JDK!
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
One Response
  1. H.-Peter Detemble says:

    Hallo,
    ich wollte mir die Anleitung ausdrucken um Java 1.6 (32bit) für 10.5 zu installieren.
    Leider fehlen dabei die Screenshots zum Vergleich. Kannst Du diese noch hochladen?

    Gruß
    Hans-Peter

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>