Java unter Debian#
An sich ist Java ja eine gute Idee: Man ist völlig plattformunabhängig, überall wird die gleiche Sprache gesprochen, Java ist überall vorinstalliert etc. Leider sah die Realität eine ganze Zeit lang aus der Sicht eines Nicht-Java-Gurus wie mir etwas trauriger aus. :-( Bereits mehrere Male hatte ich es mit Java-Programmen zu tun, die ich als Laie "mal eben" unter Debian ausprobieren wollte. Dabei musste ich jedes mal Java neu installieren und wusste nicht mehr, woher ich das nun nehmen soll... .
Diese Zeiten sind seit Etch (Debian 4.0) vorbei. War es bislang so, dass man Java immer wieder von der Herstellerseite bei Sun herunterladen musste, kann nun mit apt Java (JRE oderauch JDK) einfach installiert werden.
Seit Anfang 2007 gibt es offizielle Debian-Pakete mit der Sun-VM. Alternativ sind auch andere, richtig "freie", VMs in Debian enthalten. Diese beiden Wege sind zum heutigen Zeitpunkt die "Empfehlung der Redaktion". --ThomasBayen
Für Debian Etch (aka 4.0) gibt es Java 1.5.0 im Zweig "non-free". Java 6 kann man als Backport installieren.
- http://packages.debian.org/etch/sun-java5-jre
- http://packages.debian.org/etch-backports/sun-java6-jre
Das Original von Sun (so war es)#
Man lädt sich das SDK für Linux als .bin-Datei von
http://java.sun.com
herunter.
Dann installiert man das Paket java-package (in Debian/contrib):
apt-get install java-package
Damit wird das Skript make-jpkg installiert, mit dem man aus der .bin-Datei ein Debian-Paket erzeugt. Das wird dann ganz normal installiert. Zum Beispiel:
fakeroot make-jpkg jre-1_5_0_02-linux-i586.bin dpkg -i sun-j2re1.5_1.5.0+update02_i386.deb
Übrigens kann java-package auch die IBM-Implementierung von Java zu einem Paket machen. Diese läuft ebenfalls anstandslos unter Debian Linux. Im Gegenteil ist mir mit dem Java von Sun mein Eclipse auf einem UML-System dauernd abgestürzt - mit dem IBM-Java gehts. -- ThomasBayen
Java 6 mit java-package#
Java 6 wird von java-package in Etch nicht unterstützt, was sich in der Fehlermeldung No matching plugin was found. zeigt. Das kann aber leicht angepasst werden:
cd /usr/share/java-package cp -a sun-j2sdk1.5 sun-j2sdk1.6
Editiere die erste Zeile in sun-j2sdk1.6/install
suffix=j2sdk1.6-sun
Editiere sun-j2sdk.sh und füge folgendes zur i386 Section:
"jdk-6u"[0-9]"-linux-i586.bin") # SUPPORTED
j2se_version=1.6.0+update${archive_name:10:2}
j2se_expected_min_size=130
found=true
;;
Analog geht das Ganze natürlich auch für JRE.
Wirklich Frei#
Unter Linux gibt es mittlerweile eine ganze Anzahl von Java-Virtuellen-Maschinen, die ich für die eigene Programmentwicklung auf jeden Fall empfehle (wir wollen doch freie Software entwickeln, oder?):
Die freien Java-Implementierungen sind mittlerweile durchaus in der Praxis einsetzbar. Ab Kaffe 1.1.3 läuft der Tomcat 4 unter dieser VM und an Eclipse wird heftig gearbeitet: Mit GCJ 4.0 soll Eclipse 3.1 out of the Box funktionieren!
- Mit dem Gnu-Java-Compiler (GCJ) lassen sich viele Java-Projekte in Binär-Code übersetzen. Wenn jemand freie Software mit Java entwickeln will, dann empfehle ich diesen Weg, denn so lassen sich auch Binärprogramme für Windows kompilieren!
- Auch im Debian-Projekt tut sich einiges. Durch die Fortschritte bei Kaffe und beim GCJ können viele Java-Bibliotheken und Programme mit diesen Compilers und Java-VMs übersetzt werden. Sie wandern dann in die Debian-Main-Distribution. Siehe http://wiki.debian.org/Java/MoveToMain
64-Bit-Systeme#
Grundsätzlich funktioniert Java auch auf 64-Bit-Systemen sehr gut. Leider gibt es von Sun jedoch kein richtiges Browser-Plugin, so das Applets und JavaWebStart gehandicapt sind. Hierzu gibt es Hinweise auf der Seite LinuxMit64Bit.
Links#
- Status Java in Sarge: http://lists.debian.org/debian-devel-announce/2005/06/msg00002.html
- http://ant.apache.org
- Homepage des Java-Buildtools ApacheAnt (vergleichbar mit make)
- Allgemeine Informationen Tips und Tricks auch auf der Java Seite der LUG Krefeld
- Anfang 2007 gab es eine DiskussionJavaStart mit jemandem, der neu mit Java anfangen wollte. Dort stehen für Neulinge evtl. auch einige interessante Tips, die hier noch nicht eingearbeitet wurden.