javalogo52x88.gif

Kaffee mit Milch und Zucker

Java für die Linux-Plattform

01.01.2002 Wer schon einmal mit Java-Programmen gearbeitet hat, kennt den großen Vorteil: Plattformunabhängigkeit. Java-Programme benötigen für die Ausführung jedoch eine Runtime-Umgebung. Welche Möglichkeiten sich derzeit unter Linux bieten, zeigt dieser Artikel.

Während Microsoft versucht, Java wegen des Lizenzstreits mit Sun vollkommen aus folgenden Windows-Versionen (Windows XP) zu verbannen, hat der Linux-Anwender mehr Möglichkeiten denn je, sein System Java-fähig zu machen. Dieser Artikel gibt Ihnen einen kurzen Überblick über die vorhandenen Java-SDKsund JREs, die für Linux zur Verfügung stehen.

Die Qual der Wahl

Neben dem bekannten JDK/JRE von Sun haben Java-Anwender unter Linux eine große Auswahl an Alternativen. Hier die wichtigsten Java-Kits für die Linux-Plattform:

  • Sun JDK 1.3.1 / 1.4 Beta 3
  • Blackdown 1.3.1 FCS
  • IBM Java 2 SDK / JRE 1.3
  • Kaffe 1.0.6Sehen wir uns nun zuerst die bekannteste Möglichkeit an, ein Linux-System Java-tauglich zu machen: das Sun-JDK/JRE.

Java vom Erfinder

Sun befindet sich momentan zwischen den beiden JDK-Versionen 1.3.1 und 1.4. Die 1.4er Version ist zwar noch im Beta-Status, ist aber trotzdem schon sehr stabil und für den privaten Einsatz durchaus zu empfehlen. Zu finden ist das Sun-JDK bzw. JRE unter [1].

Abbildung 1

Abbildung 1: Java-Web-Seite von Sun (java.sun.com)

Ob Sie sich nun für das JDK oder das JRE entscheiden, macht für den Installationsvorgang keinen großen Unterschied. Wir beschreiben im Folgenden jedoch nur die JDK-Installaton. Beim Download von der oben angegeben Web-Seite haben Sie die Wahl zwischen einem tar.gz-Archiv und einem rpm-Paket. Abhängig davon, für welches Format Sie sich entschieden haben, sollte sich nach dem Download eine der beiden folgenden Dateien auf Ihrer Festplatte befinden:

  • j2sdk-1_4_0-beta2-linux-i386-rpm.bin
  • j2sdk-1_4_0-beta2-linux-i386.bin

Die jeweilige bin-Datei muss zunächst ausführbar gemacht werden:

chmod a+x j2sdk-1_4_0-beta2-linux-i386-rpm.bin

bzw.

chmod a+x j2sdk-1_4_0-beta2-linux-i386.bin

Nun kann das Programm gestartet werden:

./j2sdk-1_4_0-beta2-linux-i386.bin

Sie werden dann zunächst den Linzenzvertrag zu Gesicht bekommen. Nach der Bestätigung wird das JDK in ein Unterverzeichnis j2sdk1.4.0 des aktuellen Verzeichnisses installiert. Bei Verwendung des Archivs mit rpm im Namen wird nach der Lizenzzustimmung die rpm-Datei angelegt, die anschließend vom Administrator root mit dem Befehl

rpm -iv j2sdk-1_4_0-beta2-linux-i386.rpm

installiert werden kann.

Nach der erfolgreichen Installation sollten Sie unbedingt noch zwei wichtige Systemvariablen setzen, damit die nun installierte Java-Umgebung für Java-Anwendungsprogramme auch auffindbar ist:

export JAVA_HOME=/usr/lib/j2sdk1.4.0
export PATH=$PATH:/usr/lib/j2sdk1.4.0/bin
Abbildung 2

Abbildung 2: Java im Einsatz

Blackdown

Ebenfalls ein JDK bzw. JRE stellt die Entwicklergruppe von blackdown.org [2] zur Verfügung. Ziel dieser Softwaregruppe ist es, Java auf der Basis des Sun-Quellcodes auf Linux zu portieren. Sie werden sich sicherlich Fragen, weshalb diese Anstrengungen unternommen werden, wenn von Sun bereits eine Linux-Version vorliegt. Blackdown verspricht, spezielle Anpassungen für die Linux-Plattform einzubringen, wodurch das Programmpaket stabiler und schneller werden soll. Da auf den Grundlagen der Sun-Implementierungen gearbeitet wird, dauert es deshalb immer etwas länger, bis die entsprechenden Versionsnummern von Blackdown erreicht werden. Momentan ist die Version 1.3.1 aktuell.

Bei der Frage, ob nun auf eine Version von Sun zurückgegriffen oder ob die Java-Implementierung von Blackdown zum Einsatz kommen soll, gehen die Meinungen weit auseinander. Es hat sich jedoch schon des öfteren gezeigt, dass Implementierungen von Blackdown sehr zuverlässig arbeiten. Ein Blick auf diese Alternative ist also durchaus zu empfehlen.

Die Installation gestaltet sich ebenfalls sehr einfach und ist in wenigen Schritten erledigt. Ob Sie sich nun für das JDK entscheiden oder lediglich das JRE verwenden möchten, ändert an der Installation nichts (außer natürlich den Verzeichnisnamen). Nachdem Sie das tar.gz-Archiv von der Web-Seite heruntergeladen haben, folgt zunächst der übliche Vorgang, das Archiv zu extrahieren:

tar xjvf j2sdk-1.3.1-FCS-linux-i386.tar.bz2

Anschließend finden Sie ein neues Verzeichnis j2sdk1.3.1 im Arbeitsverzeichnis. Auch bei Blackdown sollten Sie auf keinen Fall vergessen, die beiden Systemvariablen PATH und JAVA_HOME wie oben beschrieben zu setzen bzw. anzupassen.

Big Blue

Auch IBM hat in der letzten Zeit die Bedeutung von Java erkannt und bietet JDK und JRE an. Zu finden sind die verfügbaren Versionen unter [3]. Auch hier haben Sie wieder die Wahl zwischen einem Download als rpm-Paket oder tar.gz-Archiv. Die Installation ist weitgehend identisch mit den zuvor besprochenen. Außer der Möglichkeit des kompletten Downloads bietet IBM Ihnen auch noch den Download in vier (JDK) bzw. drei (JRE) gesplitteten Dateien an, was für störungsanfällige Internetzuänge interessant ist. Vor der Installation müssen die Einzeldateien dann zunächst zusammengefügt werden. Dies geschieht mit dem cat-Befehl nach folgender Form:

cat [Datei1] [Datei2] [Datei3] [Datei4] > [Ausgabedatei]

Das IBM-Java-Paket zeichnet sich besonders durch seine hohe Geschwindigkeit aus, da große Teile in C++ geschrieben sind.

Kaffe

Das Projekt "Kaffe" versucht, die Java-Virtual-Maschine inklusive der Class Libraries als Open-Source-Projekt nachzubilden. Ins Leben gerufen wurde dieses Projekt von Tim Wilkinson und wird nun von zahlreichen weiteren Java-Programmierern unterstützt. Leider entsprechen die Versionsnummern der Kaffe-Implementierung nicht den üblichen Versionen von Sun, wodurch die Einordnung des Projektstatus erschwert wird. Im Moment (Version 1.0.6) befindet sich Kaffe zwischen den Java-Versionen 1.1 und 1.2 von Sun. Einige Funktionen sind allerdings noch nicht implementiert.

Abbildung 3

Abbildung 3: Die Kaffe-Homepage (www.kaffe.org)

Die Installation gestaltet sich leider nicht so einfach wie bei den anderen besprochenen Paketen. Die aktuelle Release arbeitet nicht mit aktuellen glibc-Versionen zusammen, wodurch eine Übersetzung auf vielen Linux-Distributionen unmöglich wird. Sie benötigen deshalb die aktuelle Version aus dem CVS-Verzeichnis. Hierzu geben Sie bitte folgende Befehle ein:

cvs -d :pserver:readonly@cvs.kaffe.org:/cvs/kaffe login
cvs -d :pserver:readonly@cvs.kaffe.org:/cvs/kaffe co kaffe

Anschließend befinden sich die Quelltexte der aktuellen Kaffe-Version im neuen Unterverzeichnis kaffe. Das Kompilieren erfolgt nun mit den Befehlen:

./configure --prefix=/usr/lib
make
make install

Der Paramter "--prefix" des configure-Skripts gibt das Verzeichnis an, in dem Kaffe installiert werden soll. Danach sollte auch Kaffe für den ersten Einsatz bereit sein.

Fazit

Wie Sie gesehen haben, ergeben sich für den Java-Programmierer und -Anwender unter Linux zahlreiche Möglichkeiten. Welche Alternative für Ihre Anforderungen am besten passt, sollten Sie durch Testen der verschiedenen Pakete ausprobieren. Wenn Sie auf Nummer Sicher gehen wollen, empfiehlt sich zunächst der Einsatz des Sun-JDK/JRE. Im den nächsten Artikeln werden wir das nun installierte JRE in der Praxis einsetzen und die ersten Java-Applikationen ausprobieren.

Glossar

Java-SDKs

(Java-Software-Development-Kit) stellen die gesamte Java-Umgebung für den Programmierer zur Verfügung. Sie brauchen ein SDK lediglich dann, wenn Sie auch selbst Java-Programme entwickeln möchten. Falls ein JDK vorhanden ist, brauchen Sie kein separates JRE, um Programme auszuführen - das JDK beinhaltet bereits alle Funktionen des JRE.

JREs

(Java-Runtime-Environment): Da Java-Programme nur im sogenannten Bytecode (einer Art Java-Maschinensprache) vorliegen, muss für die Ausführung ein Java-Interpreter benutzt werden, der im JRE zu finden ist.

tar -j

Aktuelle tar-Versionen verwenden die Option "-j", um ein bzip2-komprimiertes tar-Archiv zu entpacken. Bei älteren tar-Varianten ist diese noch "-I" (mit einem großen I), ganz alte kennen keine passende Option. Reagiert Ihr tar auf beide Varianten mit einer Fehlermeldung, dekomprimieren Sie das Archiv zunächst mit bunzip2.

CVS

Das "Concurrent Versions System" erlaubt bei großen Programmierprojekten allen Beteiligten einen Schreib-/Lesezugang auf die Quelldateien. Dabei bietet CVS das Feature der Versionsverwaltung, so dass sich jederzeit aktuelle oder zurückliegende Versionen aus dem CVS-"Baum" extrahieren lassen. Mehr zu CVS finden Sie in LinuxUser 08/2001 [5].

Tip a friend    Druckansicht beenden Bookmark and Share
Kommentare