Advanced Java Services | Compiler und Interpreter |
Der JavaCompiler javac.exe befindet sich nach der Installation der JSE im Verzeichnis
/bin .
Einrichten eines Konsolfensters
Zum Aufruf des Compilers kann man sich auf dem Desktop ein Konsolfenster einrichten, das auf ein Verzeichnis zeigt,
in dem man seine Javaprogramme speichern will. Es gibt verschiedene Möglichkeiten, sich so ein Konsolfenster zu beschaffen.
Das Konsolfenster konfiguriert man zweckmäßigerweise so, daß die Höhe des Fensterpuffers auf einen großen Wert
eingestellt wird (ruhig >= 1000), damit man auch alle Fehlermeldungen des Compilers lesen kann...
Compilieren von Programmen
Zum Compilieren muß dem Compiler der vollständige Name des Quellprogramms übergeben werden.
Heißt die Quelldatei etwa UnserErstes.java, so sieht der Aufruf des Compilers aus unserem
Konsolfenster wie folgt aus:
javac UnserErstes.java
Man kann auch gleich mehrere Dateien compilieren, das sieht dann so aus:
javac UnserErstes.java EinZweites.java Nocheins.java
Fehlermeldungen des Compilers
Hat das Programm syntaktische Fehler, so bricht der Compiler ab und gibt entsprechende Fehlermeldungen auf der
Konsole aus. Das kann z.B. so aussehen:
UnserErstes.java:10: ')' expected
System.out.println("Hello Java";
^
Hier wurde eine runde Klammer vergessen. Der Compiler sagt uns, in welcher Datei der Fehler ist
(UnserErstes.java), in welcher Zeile des Quellcodes (10) und er zitiert zudem die komplette fehlerhafte Zeile und setzt
eine Markierung an die Stelle, die er für falsch hält. Das sind recht präzise Angaben.
Nicht immer trifft der Compiler die Stelle(n) genau. Er meldet zwar die Stelle, an der er etwas für
falsch hält, der Fehler kann aber durchaus schon früher gemacht worden sein.
Ist das Programm übersetzbar, beendet sich javac kommentarlos und erzeugt in dem von uns gewählten Verzeichnis
eine Datei mit dem Namen UnserErstes.class. Die Datei enthält sogenannten ByteCode, sozusagen ein
fast fertig compiliertes Programm. Dieser Bytecode wird nun vom Javainterpreter als Programm gestartet.
Der Interpreter heißt java.exe und befindet sich ebenfalls im /bin-Verzeichnis. Der
Programmaufruf sieht folgendermaßen aus.
java UnserErstes
Hier darf also die Endung ".class" nicht angegeben werden.
Falls ein Aufruf von "javac.exe" oder "java.exe" aus unserem gewählten Verzeichnis mißlingt, so muß die
Windowsumgebungsvariable "PATH" aktualisiert werden. Dazu geht man den folgenden Weg
Start -> Einstellungen -> Systemsteuerung -> System -> Erweitert -> Umgebungsvariablen
und ergänzt nach einem Semikolon den Pfad zu "javac.exe".
Wir haben nun dafür gesorgt, daß das Betriebssystem unseren Compiler von jedem beliebigen Verzeichnis aus findet.
Da sich auch der Interpreter im selben Verzeichnis befindet, können wir nun auch den Interpreter aus jedem Verzeichnis aufrufen.
Solange wir alle Javadateien, die wir für ein Problem brauchen in einem Verzeichnis ablegen, finden Compiler und Interpreter
diese Dateien auch. Verteilt man aber Dateien, die zusammen ein Programm bilden, auf mehrere Verzeichnisse, so "sieht" der Compiler
Javaklassen nicht, die in einem anderen Verzeichnis liegen, als das von dem aus der Compiler aufgerufen wird. Genauso geht es dem
Interpreter. In solchen Fällen braucht man eine eigene Umgebungsvariable um Compiler und Interpreter
zu informieren. Diese Umgebungsvariable heißt CLASSPATH und wird parallel zur Umgebungsvariablen Path angelegt. Für den Anfang
brauchen wir den CLASSPATH noch nicht.
Der direkte Aufruf von Compiler und Interpreter ist zwar ganz lehrreich, aber auch ziemlich lästig.
Gottseidank gibt es Editoren, die einem diese Arbeit abnehmen. TextPad etwa ist so einer. Eine
evaluation copy erhält man unter
http://www.textpad.com
Schon bei der Installation erkennt TextPad eine vorhandene Java-Umgebung und berücksichtigt diese. Unter
Konfiguration -> Einstellungen ->
Extras
sollten sich die drei Einträge Java kompilieren , Java-Programm starten und
Java-Applet starten finden. Unter
Konfiguration -> Einstellungen ->
Dokumentenklasse -> Java
kann man unter anderem Schriftart und Tabulator nach persönlichem Geschmack einstellen. Bei
richtig erkannter Java-Umgebung lassen sich Javaprogramme aus dem Editor heraus über die
Tastenkombiantionen Strg 1 , Strg 2 resp. Strg 3
kompilieren und starten. Das Starten eines Javaprogramms erfolgt dabei über eine Batchdatei, die
in das Verzeichnis der .class-datei wechselt und dann dem Interpreter den Namen der Bytecodedatei
übergibt. Damit das funktioniert, muß der CLASSPATH gesetzt sein. Darüber hinaus werden
die Fehlermeldungen des Compilers abgefangen und in einem eigenen Fenster angezeigt. Klickt man mit der
Maus auf die erste Zeile der jeweiligen Fehlermeldung springt man direkt auf die entsprechende Zeile
des Quelltextes.
Außerdem bietet der Editor SyntaxHighLighting für C/C++, Java, und HTML. Alle JavaKlassen,
die TextPad kennt, zeigt er farbig an. Dazu gibt es im Installationsverzeichnis von TextPad eine Datei
java.syn . Diese kann man auch um neue Standardjavaklassen oder um eigene Klassen ergänzen.
Man öffnet einfach die Datei java.syn mit dem Editor und trägt unter [Keywords 2]
die neuen Klassennamen ein.