Skip to Content

javac

Stefan Schneider's picture

Die (vereinfachte) Syntax von javac ist:

$ javac [Optionen] [Quelldateien] 

Die wichtigsten Optionen des Javaübersetzers javac sind:

  • -classpath -cp classpath : Verzeichnisse in denen nach .class Dateien gesucht werden soll
  • -d directory : Verzeichnis in dem die erzeugten .class Dateien abgelegt werden. Das Verzeichnis muss bereits existieren. Fehlt diese Option, so werden die erzeugten .class Dateien im aktuellen Verzeichnis abgelegt
  • - help: druckt alle Standardoptionen auf der Konsole
  • -source release: Erlaubt das Parsen der Javaquelldateien nach alten Sprachstandards [1.5,5,1.4,1.3].
  • -sourcepath sourcepath: Suchen von Quelldateien in den angegebenen Verzeichnissen und jar Archiven
  • -X : Anzeige der nicht Standardoptionen

Comments

Fehler

Ist es korrekt das der erste Aufzählungspunkt nach .class Dateien sucht? javac sucht doch eigentlich nach *.java Dateien oder?

Stefan Schneider's picture

javac und classpath

Sehr gute Beobachtung,

Man übersetzt nicht immer alle Klassen neu. Man verfügt eventuell auch nicht über alle Klasse im Quellcode. Wenn eine Klasse A eine Klasse B benutzt wird die Klasse B zuerst als .class Binärcode im classpath gesucht. Wird B.class dort nicht gefunden, wird im Quellcode eine Klasse B.java gesucht. Diese Klasse B würde dann zuerst übersetzt werden. Der die neugenerierte Binärcodedatei b.class würde dann als Schnittstellendeklaration für die Benutzung von B in A.java herangezogen.



about seo | book