10_8338_303_Java Laufzeitumgebung - Offene

Werbung
Das diesem Dokument zugrundeliegende Vorhaben wurde mit
Mitteln des Bundesministeriums für Bildung und Forschung
unter dem Förderkennzeichen 16OH21005 gefördert.
Die Verantwortung für den Inhalt dieser Veröffentlichung liegt
beim Autor/bei der Autorin.
1
In diesem Abschnitt wollen wir uns näher mit der Java-Laufzeitumgebung
beschäftigen.
Hierzu sehen wir uns an:
• Was zu einer Laufzeitumgebung gehört?
• Was ist ein Classpath?
2
Die Laufzeitumgebung besteht allein aus der Installation der JRE.
Auf einem Zielsystem müssen wir daher als erstes eine Laufzeitumgebung
installieren bevor wir ein Java-Anwendung ausführen können.
Die Laufzeitumgebung wird auch als Java Runtime Environment (JRE)
bezeichnet.
Die wesentlichen Bestandteile der JRE sind:
• Die Java Virtuelle Maschine zum Ausführen der Class-Files
• JAVA-Runtime-Bibliotheken
Die einzelnen Schritte bei der Installation sind:
• Download JRE von https://www.java.com/de/download/
• Installieren bzw. entpacken
Aufrufen der JVM:
3
Aufrufen können wir die Java Virtuellen Maschine (JVM) mittels dem Kommando „java“
aus einer Kommandozeile heraus.
Im allgemeinen wird dabei ein sogenanntes Java-Archive-File (JAR-Datei) angegeben.
Bei dem JAR File handelt es sich um ein ZIP-Datei, in der die CLASS-Files abgelegt
werden.
Was es mit dem CLASSPATH auf sich hat, sehen wir in der nächsten Abbildung.
3
Der Classpath ist notwendig, damit die Java-Klassen zur Laufzeit auch gefunden
werden.
Dies ist insbesondere dann notwendig, wenn eine Java-Anwendung andere JAR
Files voraussetzt.
In der Abbildung ist auf der linke Seite dargestellt, dass eine Java Anwendung in
dem JAR-File App.jar ausgeliefert wird. Diese App benötigt aber Java Klassen
aus einem JAR-File mit dem Namen Lib.jar. Es besteht also eine Abhängigkeit.
Sehen wir uns mal ein typisches Szenario aus der Praxis an:
Wie in unter (1) dargestellt, wird die Anwendung mit App.jar gestartet. Dort
wird der Fehler gemeldet, dass eine Klasse nicht gefunden werden kann (
ClassNotFoundException).
Der Grund ist, dass die Klassen aus dem JAR-File Lib.jar nicht gefunden
werden.
Um solche Probleme zu beheben, ist es notwendig alle JAR-Files, die zur
Ausführung benötigt werden, der JVM mitzuteilen, damit diese die notwendigen
Klassen auch findet.
Dies erfolgt über den CLASSPATH. Er kann beim Start der JVM als Argument (-
4
cp , -classpath) angegeben werden.
Alternativ kann man den Classpath auch in einer Umgebungsvariable CLASSPATH
definieren.
Die Frage ist nun, was ist nun genau der Classpath?
Der Classpath enthält den Namen von JAR-Dateien oder ein Verzeichnis.
Wird ein Verzeichnis angegeben, so wird angenommen, dass dort die Dateien (Class-files
etc.) eines ausgepackten JAR Files liegen.
4
5
6
Herunterladen