10_8338_303_Java Laufzeitumgebung - Offene

Werbung
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