Titel   Inhalt   Suchen   Index   DOC  Handbuch der Java-Programmierung, 7. Auflage
 <<    <     >    >>   API  Kapitel 53 - Hilfsprogramme des JDK

53.1 javac - der Compiler



In diesem Kapitel wollen wir die wichtigsten Hilfsprogramme des Java Development Kit bzw. Java Runtime Environment vorstellen. Die meisten Programme arbeiten kommandozeilenorientiert und werden aus einer DOS-Box oder einer Shell heraus aufgerufen. Einige von ihnen sind interaktiv und haben eine einfache grafische Oberfläche. Wir wollen die Aufrufsyntax und wichtigsten Optionen der folgenden Programme vorstellen:

53.1.1 Aufruf

javac [ options ] [ @filelist | { filename.java } ]

53.1.2 Beschreibung

Der Compiler javac übersetzt Sourcecode in Bytecode. Zu jeder Klasse, die innerhalb einer .java-Datei definiert wurde, wird eine eigene .class-Datei erzeugt. Der Compiler wacht automatisch über die Abhängigkeiten zwischen den Quelldateien. Wird beispielsweise in einer Klasse X in der Datei X.java eine Klasse Y, die in Y.java liegt, verwendet, so wird Y.java automatisch mit übersetzt, wenn es erforderlich ist. Anstelle der Liste von Dateinamen kann nach einem @ auch eine Textdatei angegeben werden, in der die zu übersetzenden Dateien durch Whitespaces getrennt angegeben werden.

53.1.3 Optionen

Option Bedeutung
-version Ausgabe der Versionsnummer
-classpath path Gibt die Liste der Pfade zur Suche von Klassendateien an. Dieser Schalter übersteuert den Wert einer eventuell gesetzten Umgebungsvariable CLASSPATH. Bezüglich der Auswirkungen des Klassenpfads in den unterschiedlichen JDK-Versionen lesen Sie bitte Abschnitt 14.2.2. Alternativ kann auch die Abkürzung -cp angegeben werden.
-sourcepath path Gibt die Liste der Pfade zur Suche von Quelldateien an.
-d path Gibt den Pfad an, in dem die Klassendateien abgelegt werden sollen.
-g Aktiviert die Erzeugung von Debug-Informationen. Dieser Schalter sollte aktiviert werden, bevor ein Programm debugt wird. Mit -g:[ lines | vars | source ] können Sie den Detailgrad näher spezifizieren. Mit -g:none können Sie die Erzeugung explizit ausschalten.
-nowarn Deaktiviert die Ausgabe von Warnungen.
-verbose Aktiviert die Ausgabe von Meldungen über geladene Quell- und Klassendateien während der Übersetzung.
-implicit:[ none | class ] Implizit referenzierte Klassen können mit diesem Schalter wahlweise mitgeneriert werden.
-encoding encoding Setzt das Encoding des Quellcodes.
-deprecation Sorgt dafür, dass bei jedem Aufruf einer als deprecated markierten Methode (@deprecated-Marke im Dokumentationskommentar) zusätzliche Informationen über mögliche Workarounds ausgegegeben werden. Alle Methoden aus älteren JDKs, die im aktuellen JDK nicht mehr verwendet werden sollen, werden mit diesem Flag markiert.
-target version Es wird Bytecode erstellt, der zu der angegebenen Version des Laufzeitsystems kompatibel ist.
-source version Es wird Sourcecode akzeptiert, der zu der angegebenen Version kompatibel ist. Dieser Schalter ist ab JDK-Version 1.4 verfügbar.
-Xlint Steht ab der J2SE 5.0 zur Verfügung und aktiviert eine Reihe von Warnungen, die anzeigen, dass der Quelltext Konstrukte enthält, die zwar legal, aber unter Umständen problematisch sind. Als Beispiel wird in der Dokumentation eine Klasse genannt, die zwar das Interface Serializable implementiert, aber keine eigene serialVersionUID zur Verfügung stellt.

Tabelle 53.1: Optionen von javac


 Titel   Inhalt   Suchen   Index   DOC  Handbuch der Java-Programmierung, 7. Auflage, Addison Wesley, Version 7.0
 <<    <     >    >>   API  © 1998, 2011 Guido Krüger & Heiko Hansen, http://www.javabuch.de