Java Development Kit 5.0
Zu neuen Ufern
Das nächste JDK soll Java modernisieren. Ob das Ergebnis den Versionssprung auf 5.0 rechtfertigt oder ob er sich als Marketing erweist, verrät dieser Ausblick auf die bevorstehende Java-Release.
Das nächste JDK soll Java modernisieren. Ob das Ergebnis den Versionssprung auf 5.0 rechtfertigt oder ob er sich als Marketing erweist, verrät dieser Ausblick auf die bevorstehende Java-Release.
Die Firma Sun hatte schon immer ein Händchen dafür, Java-Entwickler zu verwirren. Hieß die zweite Major-Release noch Java 1.1, trug die nächste Version den Namen Java 2, Version 1.2. Die Unterteilung in Standard Edition (J2SE) und Enterprise Edition (J2EE) führte zu weiteren parallel gepflegten Versionen. Die folgenden Releases 1.3 und 1.4 firmierten trotzdem unter Java 2 und auch die erste Beta der aktuellen Release hieß Version 1.5.
Für diesen Artikel dient ein mit Version 1.5 Beta 2 ausgezeichnetes JDK als Grundlage. Kurz danach folgte der Versionsschwenk zu 5.0[1]. Eine Version höher wäre durchaus auch sinnvoll gewesen, handelt es sich doch um die sechste Major-Release. Wichtiger als Versionsnummern sind aber die Inhalte, und hier bietet das JDK 5.0 einiges Neue. Die Sprache hat sich an einigen Stellen geändert, neue Klassen sind hinzugekommen
Die gute Nachricht für alle JVM-Autoren: Der Bytecode ändert sich nicht, alle neuen Sprachkonstrukte werden mit dem bestehenden Befehlssatz emuliert. Trotzdem laufen 5.0-Programme nicht unbedingt auf älteren JVMs, wenn sie von neuen Klassen abhängen.
Sun bastelt schon lange nicht mehr alleine an Java, auch wenn die Sprache (noch) nicht freigegeben ist. Der so genannte Java Community Process (JCP) installiert Arbeitsgruppen zu den vorgeschlagenen Java Specification Requests (JSR), die letztlich ihren Weg in den Sprachstandard oder in die Standardklassen finden - falls sie nicht abgelehnt werden. Die genaue Zahl der JSRs, die in die neue Version eingeflossen sind, ist schwer zu bestimmen, da es eine Reihe von Sammel-JSRs gibt, zum Beispiel den JSR-176: J2SE 1.5 Release Content[2]. Insgesamt dürften es 15 bis 20 Änderungen sein.
Der Artikel geht aber nicht auf jedes Detail ein, sondern konzentriert sich auf die Highlights. Die Änderungen lassen sich grob in drei Kategorien einordnen: Änderungen an der Sprache, an den Bibliotheken sowie jene an den Tools. Soviel schon vorweg: Bei Letzteren hat sich Sun einen Fauxpas erlaubt und einem Tool den Namen »apt« gegeben, obwohl das Paketwerkzeug unter Debian schon so heißt. Über den eigenen Tellerrand hinaussehen war noch nie eine Stärke großer Firmen.
Sowohl das JDK als auch die zugehörige Dokumentation sind nach dem Abnicken einer entsprechenden Lizenzvereinbarung als ungefähr 45 MByte große Pakete von[1] herunterzuladen. Die Dokumentation kommt im schlichten Zip-Format auf den Rechner und kann an beliebiger Stelle ausgepackt werden. Das JDK für Linux gibt es als sich selbst entpackendes Shell-Skript. Vorsicht: Das Toplevel-Verzeichnis ist »docs«, es empfiehlt sich also, das Paket in einem eigenen Verzeichnis zu entpacken. Es enthält aber neben der Software nur noch einmal die Lizenz.
Nach deren Bestätigung entpackt das Skript ein RPM-Archiv und installiert es gleich unter »/usr/java/jdk1.5.0«. Das RPM selbst liegt anschließend im aktuellen Verzeichnis und kann auf weiteren Rechnern installiert werden. Insgesamt sind 132 MByte für das JDK notwendig und 252 MByte für die Dokumentation. Wer auf die Quelldateien sowie die Demos und Beispiele verzichten kann, spart beim JDK 31 MByte.
Um die Betaversion zu nutzen, genügt es in der Regel, das neue Verzeichnis »/usr/java/jdk1.5.0/bin« vorne an den »PATH« zu stellen und die Variable »JAVA_HOME« entsprechend zu setzen. Suse-Nutzer müssen etwas mehr tun, denn Suse definiert eine ganze Reihe von Java-relevanten Umgebungsvariablen (einfach in einer Kommandozeile »echo $J« eingeben und die Tabulator-Taste drücken). Entweder, man setzt die Variablen von Hand oder schreibt sie in die Datei »/etc/java/java5.conf« (siehe Listing 1). Jetzt genügt bei Suse ein einfaches
. setJava --version 5.0
um die Variablen in der aktuellen Shell (beziehungsweise in einem Skript) zu setzen. Ebenso funktioniert:
setDefaultJava --version 5.0
Dieses Kommando, als Root ausgeführt, setzt den symbolischen Link von »/usr/lib/java« auf das passende Verzeichnis. Wie vieles andere bei Suse, sieht auch der Umgang mit Java zuerst kompliziert aus, um sich dann als durchdacht und praktisch zu erweisen.
|
Listing 1: |
|---|
01 # Configuration for JDK 1.5.0 aka 5.0 02 03 Priority: 20 04 05 Vendor : Sun 06 Version : 5.0 07 Devel : True 08 09 JAVA_BINDIR = /usr/java/jdk1.5.0/bin 10 JAVA_ROOT = /usr/java/jdk1.5.0 11 JAVA_HOME = /usr/java/jdk1.5.0 12 JRE_HOME = /usr/java/jdk1.5.0/jre 13 JDK_HOME = /usr/java/jdk1.5.0 14 SDK_HOME = /usr/java/jdk1.5.0 15 16 JAVA_LINK = /usr/java/jdk1.5.0 |
Alle Rezensionen aus dem Linux-Magazin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...