21.3Java

Auf Desktop-Rechnern ist Java primär als Webbrowser-Plugin sowie für diverse LibreOffice-Zusatzfunktionen von Bedeutung. Außerdem setzt eine stetig wachsende Zahl von plattformunabhängigen Programmen Java voraus. Von deutlich größerer Bedeutung für Linux ist Java auf Servern, die in Java programmierte Websites oder Webservices anbieten (Tomcat, Jakarta etc.). Interessant ist Java aber natürlich auch für viele Schüler und Studenten, die mit dieser Sprache und oft mit Eclipse als Entwicklungsumgebung programmieren lernen, Projektarbeiten durchführen etc.

Die Java Standard Edition, der Java-Compiler javac, das Java Development Kit, die Java Virtual Machine und die Java-Klassenbibliothek stehen als Open-Source-Code gemäß der GPL zur Verfügung. Tabelle 21.1 fasst die wichtigsten Java-Abkürzungen zusammen.

Abkürzung

Bedeutung

JVM

Java Virtual Machine (führt Java-Programme aus)

JRE

Java Runtime Environment zur Ausführung von Java-Programmen; enthält die JVM sowie eine Menge Java-Bibliotheken.

JDK

Java Software Development Kit zur Java-Programmentwicklung

Java SE = JSE

Java Standard Edition für Desktop-Anwendungen

Java EE = JEE

Java Enterprise Edition für Server-Anwendungen

JavaFX

Framework für grafische Benutzeroberflächen und Webapplikationen, mit gewissen Ähnlichkeiten zu Adobe Flash und Microsoft Silverlight

Tabelle 21.1Java-Abkürzungen

Neben den offiziellen Java-Paketen von Oracle, die zwar kostenlos zur Verfügung stehen, aber nicht mit Linux-Distributionen ausgeliefert werden können, gibt es reine Open-Source-Implementierungen von Java: Sie basieren auf dem GPL-Code von Sun, setzen daneben aber auch Komponenten aus anderen Open-Source-Projekten ein, insbesondere IcedTea und OpenJDK.

Die meisten aktuellen Linux-Distributionen liefern zurzeit Java 8 auf Basis des OpenJDK-Projekts aus. Diese Java-Version ist zu mehr als 99 Prozent kompatibel zum Original von Oracle. Das verbleibende Prozent ist auf Java-Komponenten zurückzuführen, die aufgrund von Lizenzproblemen nicht als Open-Source-Code veröffentlicht werden können und zu denen noch keine Open-Source-Ersatzlösungen verfügbar sind.

Um die auf Ihrem Rechner installierte Java-Version herauszufinden, führen Sie java -version aus. Wenn das Kommando java nicht zur Verfügung steht, ist Java gar nicht installiert. Abhilfe schafft bei den meisten Distributionen die Installation des Pakets java-n.n-openjdk oder openjdk-n-jdk. Die folgenden Zeilen zeigen, dass Java 8 installiert ist. Das heißt, die Java-interne Versionsnummer 1.7 bezeichnet das, was umgangssprachlich Java 8 genannt wird.

user$ java -version openjdk version "1.8.0_60" OpenJDK Runtime Environment (build 1.8.0_60-b24) OpenJDK 64-Bit Server VM (build 25.60-b23, mixed mode)

Das Kommando java ist zum Ausführen von Java-Programmen ausreichend. Wenn Sie aber selbst Java-Programme kompilieren möchten, benötigen Sie auch das Java Development Kit (JDK) mit dem Java-Compiler javac. Dessen Version ermitteln Sie auf die gleiche Art und Weise:

root# javac -version javac 1.8.0_60

Wenn das Kommando javac nicht zur Verfügung steht, müssen Sie das JDK installieren. Für Debian 8 steht leider nur die Java-Version 7 in den offiziellen Paketen zur Verfügung. Wenn Sie Java 8 nutzen möchten, müssen Sie auf die testing-Paketquelle oder auf andere Quellen zurückgreifen.

root# dnf install java-1.8.0-openjdk-devel (CentOS, Fedora, RHEL) root# apt-get install openjdk-7-jdk (Debian) root# zypper install java-1_8_0-openjdk-devel (SUSE) root# apt-get install openjdk-8-jdk (Ubuntu)

Nur wenige Distributionen stellen Eclipse-Pakete zur Verfügung – und wenn doch, dann sind diese zumeist veraltet. Um Eclipse zu installieren, laden Sie von https://eclipse.org die aktuelle Version für Linux (Eclipse IDE for Java Developers) als TAR-Archiv herunter. Dieses packen Sie aus und starten das im Verzeichnis eclipse enthaltene gleichnamige Programm:

user$ tar xzf eclipse-java-mars-R-linux-gtk-x86_64.tar.gz user$ eclipse/eclipse &