1.6.1 Das erste Javaprogramm (Benutzung der Kommandos java und javac)

1.6.1 Das erste Javaprogramm (Benutzung der Kommandos java und javac)

Überblick

Das Übersetzen von Javaquellprogrammen in interpretierbare Bytecodedateien erfolgt mit dem Java-Übersetzer javac. Das Ausführen der übersetzten Dateien erfolgt mit dem Kommando java, dem Javalaufzeitsystem, welches Javaprogramme startet.

Javaübersetzer: javac

Der Javaübersetzer übersetzt lesbare Quelldateien mit der Dateiextension *.java in eine oder mehrere Bytecodedateien mit der Dateiextension *.class.

Beispiel

$ javac HelloWorld.java

Dieser Befehl erzeugt eine Datei mit dem Namen HelloWorld.class im gleichen Verzeichnis

Tipp: DerJavaübersetzer erwartet den vollen Dateinamen inklusive der Dateiextension .java

Javalaufzeitsystem: java

Das Kommando java erlaubt das Starten von Java-Programmen.

Beispiel:

$ java HelloWorld

Javaprogramme müssen als Bytecodedateien (Dateiextension *.class) oder als zu Java-Archiven (Dateiextension *.jar) gebündelte Bytecodedateien vorliegen.

Tipp: Das Kommando java akzeptiert nur den Namen der auszuführenden Klasse. Es akzeptiert nicht den Namen der gleichnamigen Datei mit dem Bytecode!

Das Kammando java  sucht dann standardmässig im aktuellen Verzeichnis nach einer Bytecodedatei (Extension *.class) die den Interpretercode für die gewünschte Klasse enthalten.

Hiermit ergibt sich die Abfolge der Kommandos für ein einfaches Testprogrann HelloWorld.java:

1. Testen der Java Laufzeitumgebung

Überprüfen sie ob eine Javalaufzeitumgebung vorhanden ist. Dies geschieht mit der Option -version des Programms java:

$ java -version
openjdk version "11.0.11" 2021-04-20 LTS
OpenJDK Runtime Environment Corretto-11.0.11.9.1 (build 11.0.11+9-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.11.9.1 (build 11.0.11+9-LTS, mixed mode)

2. Erstellen des Java-Quellcodes

Erstellen sie eine Textdatei mit dem Namen HelloWorld.java mit dem folgenden Inhalt:

class HelloWorld {
	public static void main(String[] args) {
	   System.out.println("Hello World!");
	}
}

Zum Beispiel mit gedit:

3. Übersetzen des Quellcodes

Das Programm javac (javac.exe in Windows) übersetzt den Quellcode.

$ javac HelloWorld.java

Das Ergebnis ist eine Datei mit dem Namen HelloWorld.class. Diese Datei enthält den interpretierbaren Bytecode des Programms.

4. Ausführen des Programmes

Der generierte Bytecode der Datei HelloWorld.class wird dann mit Hilfe des Programms java ausgeführt. Die extension .class wird nicht mit angegeben:

$ java HelloWorld
Hello World!
Stefan Schneider Thu, 08/26/2010 - 21:22

javac

javac

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
Stefan Schneider Tue, 04/05/2011 - 08:10