axelism.de :: java

Java-Programme starten

Wer noch keine Erfahrung mit Javaprogrammen hat, wird sich anfangs wahrscheinlich schwertun, ein frisch beschafftes Programm überhaupt zum Laufen zu bekommen. So einfach mit Doppelklick starten funktioniert hier nämlich meistens nicht.
Im folgenden versuche ich möglichst einfach zu beschreiben, wie man vorgehen sollte.

Das Java Runtime Environment (JRE)

Ohne installiertes Java geht gar nichts, da Java-Programme in sogenanntem Bytecode vorliegen. Die JVM übersetzt diese vorkompilierte Form erst in eine für das jeweilige Betriebssystem verwendbare Form. Die macht Java-Programme etwas langsamer, da die JVM den Code zur Laufzeit kompilieren muss. Dieser Nachteil wird aufgewogen durch den Vorteil, dass ein Java-Programm auf jedem System benutzt werden kann, für das es eine virtuelle Maschine gibt, also z.B. GNU/Linux, Mac OS, Windows oder Solaris.

Falls auf Ihrem System noch keine Java Laufzeitumgebung installiert ist, können Sie sich das Java Runtime Environment, derzeit JRE 1.5 (Java 5), bei www.sun.com besorgen.

Hinweis: Das JRE 1.5 ist die Laufzeitumgebung für Java 5, nicht zu verwechseln mit dem JDK. Das JDK ist umfangreicher, da es neben dem Java Runtime Environment eine Entwicklungsumgebung für Java-Entwickler enthält.

Klassen (*.class)

Falls Sie Klassendateien vorliegen haben (die mit der Endung .class), wird Sie dies interessieren:

Windows

Bei Windows gibt es zwei Java-Interpreter, "java" und "javaw". Prinzipiell passiert bei Aufruf von "javaw" dasselbe wie beim "normalen" java-Aufruf. javaw ist dafür gedacht, GUI-Anwendungen aufzurufen, weil das von manchen als störend empfundene Konsolenfenster im Hintergrund nicht mitstartet. Zum sogenannten Debuggen bei Programmfehlern etc. ist "java" aber die bessere Wahl, um Fehler- und Debugmeldungen, die an die Konsole geschickt werden, lesen zu können.

Um ein Java-Programm zu starten, rufen Sie den Java-Interpreter auf und übergeben ihm den Klassennamen der Klassendatei, die die main-Methode des Programms enthält.

Wählen Sie dazu z.B. "Start", "Ausführen". Anschließend folgende Zeile eingeben und mit [Return] bestätigen:

javaw HauptKlasse

Hinweis: Die Dateinamen der Klassendateien haben am Ende die Dateierweiterung .class, z.B. HauptKlasse.class. Diese Dateierweiterung darf beim Programmaufruf niemals angegeben werden.

Falls eine Meldung erscheint, dass der Klassenpfad nicht gefunden wurde oder das Programm aus anderen Gründen nicht korrekt gestartet wird, versuchen Sie es mit der Angabe des Klassenpfades.
Der Klassenpfad ist das Verzeichnis, in der sich die Klassendateien des Programms befinden, z.B. in "c:\programme\programmname\". Dann starten Sie z.B. so:

javaw -cp c:\programme\programmname\ HauptKlasse

Statt "c:\programme\programmname\" verwenden Sie natürlich das Verzeichnis, in dem sich die Klassen auf Ihrem System befinden. Das Leerzeichen zwischen dem Klassenpfad und dem Klassennamen nicht vergessen!

Man kann sich auch eine Verknüpfung anlegen, bei der man als "Verknüpfungsziel" den Programmaufruf wie oben beschrieben einträgt. Dann kann man das Programm später einfach per Doppelklick starten.
Bei "Ausführen in" sollte das Arbeitsverzeichnis eingetragen werden, in dem sich die Klassendateien befinden, z.B. "c:\programme\programmname\".

Linux

Setzen Sie an einer Konsole den Befehl

java HauptKlasse

ab oder, falls der Klassenpfad benötigt wird, ergänzen Sie diesen in Ihrem Aufruf wie folgt:

java -cp /home/tux/programmname/ HauptKlasse

Statt "/home/tux/programmname/" müssen Sie natürlich den Pfad angeben, in welchem sich die die Programmklassen des Programms befinden. Beachten Sie das Leerzeichen zwischen Klassenpfad und Klassenname!
Wenn Sie den Klassenpfad angeben ist es egal von wo aus das Programm gestartet wird.

Falls Sie mit mehreren Java-Versionen arbeiten und die Standard-Version ist zu alt für das zu startende Programm, oder Java wird nicht gefunden, müssen Sie den zu startenden Javainterpreter durch genaue Pfadangabe bezeichnen, zum Beispiel für JRE 1.5:

/usr/java/jre1.5.0_06/bin/java HauptKlasse

bzw.

/usr/java/jre1.5.0_06/bin/java -cp /home/tux/programmname/ HauptKlasse

Natürlich kann man sich auch unter Linux den Programmstart erleichtern, indem man ein Shellscript mit dem Programmaufruf wie oben angegeben erstellt oder eine Desktop-Verknüpfung anlegt.

Java-Archive (*.jar)

Wenn Sie ein Java-Archiv vorliegen haben, sind die folgenden Abschnitte richtig:

Windows

Oft reicht ein Doppelklick auf die *.jar-Datei zum Starten des Java-Programms aus. Wenn nicht, verwenden Sie die Anleitung im nächsten Abschnitt sinngemäß.

Linux

Eigentlich ist nicht viel anders als bei dem Aufruf einer Klasse, nur das zusätzlich der Parameter -jar übergeben werden muss, damit der Java-Interpreter weiß, dass er es mit einem Archiv zu tun bekommt, in welchem die nötigen Klassen und Resourcen verpackt sind.

java -jar archivname.jar

Anders als beim direkten Aufruf einer Klasse ist, dass man hier die Dateiendung .jar mitschreiben muss.

Wenn man sich nicht im Verzeichnis befindet, welches das Archiv enthält, gibt man einfach den kompletten Pfad an, z.B. so:

java -jar /home/tux/programmname/archivname.jar

Der Klassenpfad ist meistens innerhalb des Archivs in einer sogenannten Manifest-Datei eingetragen, so dass man sich als Anwender in der Regel keine Gedanken machen muss, wo sich die Start-Klasse befindet.

Für Neugierige:

Um zu schauen, welche Klassen und Ressourcen das Java-Archiv enthält, kann man es ganz einfach entpacken, z.B. mit einem ZIP-Programm.

Creative Commons License
Der Inhalt dieser Seite steht unter einer Creative Commons-Lizenz.

kontakt | impressum | datenschutz | letzter Upload: 30.05.2018 21:00