Wir erklären, wie man eine Java-Quellcode-Datei im Terminal kompiliert, die Compiler-Option -d
verwendet und wie man ein Programm ausführt.
javac
ist der Name des von Java verwendeten Compilers. Er ist Bestandteil eines jeden JDK (Java Development Kit). Gleichzeitig ist es aber auch das Kommando zum Aufruf des Compilers im Terminal, um damit eine Java Quellcode-Datei zu kompilieren. Dabei wird eine Datei mit der Endung .class
erstellt, die dann mit Hilfe des JRE (Java Runtime Environment) ausgeführt werden kann.
In gleicher Weise ist java
nicht nur der Name der Programmiersprache, sondern auch der Name des Kommandos.
Konkret startet der Befehl java
die Java Virtual Machine (JVM), die angegebene Klasse wird geladen und die Methode main() dieser Klasse aufgerufen.
Unser Beispiel
Wir haben für unser Beispiel die obligatorische Hello-World-Datei und als Betriebssystem Ubuntu 22.04 verwendet:
public class App {
public static void main(String[] args) throws Exception {
System.out.println("Hello, World!");
}
}
Im Terminal
Im Terminal wechseln Sie mit dem Kommando cd
zunächst in das Verzeichnis, in dem die Datei mit dem Quellcode gespeichert ist.
Für unser Beispiel haben wir bereits im Verzeichnis „java-projects“ für das Projekt selbst den Ordner „hello“ angelegt.
In den Ordner hello
wechseln Sie mit:
cd /java-projects/hello
Den Inhalt eines Verzeichnisses kann man sich mit dem Befehl ls
anzeigen lassen. In unserem Beispiel beinhaltet das Verzeichnis „hello“ eine Datei: README.md und zwei Unterverzeichnisse: lib
und src
.
Die Quellcode-Datei mit der Dateiendung .java
befindet sich im Unterordner „src“. In dieses Verzeichnis gelangt man also mit dem Kommando:
cd /java-projects/hello/src
Oder – wenn Sie sich bereits im Ordner hello
befinden – einfach
cd src
Auch hier zeigt ls
den Inhalt an, nämlich die Datei „App.java“, die wir kompilieren möchten. Der Befehl dazu lautet:
javac App.java
Führen sie anschließend erneut den Befehl ls
aus, wird zusätzlich die neu erstellte Datei „App.class“ angezeigt. Diese können Sie nun ausführen mit dem Kommando java
, gefolgt von dem Dateinamen, aber ohne Datei-Endung.
java App
Und nun sollte „Hello, World!“ im Terminal ausgegeben werden.
Die Compiler-Option -d
Um später bei größeren Projekten eine bessere Übersicht zu behalten, legt man ein separates Verzeichnis für die .class
-Dateien an . Üblich ist für dieses Verzeichnis der Name bin
(binary). Es liegt im Projekt-Verzeichnis.
Der Befehl javac
kann mit verschiedenen Optionen erweitert werden. Für das Anlegen und Speichern der kompilierten Dateien in einem eigenen Verzeichnis dient die Option -d
, gefolgt vom Namen des Verzeichnisses.
Für unser Beispiel wechseln Sie in den Projektordner:
cd /java-projects/hello
oder wenn Sie sich noch im Ordner src
vom Beispiel oben befinden, wechseln Sie in das nächst höhere Verzeichnis mit
cd ..
Wichtig: ein Leerzeichen zwischen cd
und den beiden Punkten.
Von hier aus lautet das Kommando:
javac -d ./bin ./src/App.java
immer in der Reihenfolge:
<befehl> <option> <ziel> <start>
Man benutzt hier jeweils relative Pfadangaben. Der Punkt vor dem Schrägstrich (./bin
und ./src
) signalisiert, dass die Pfadangabe im aktuellen Ordner (hello
) beginnt. Die Pfadangabe vor „App.java“ ist erforderlich, weil wir uns ja aktuell im Verzeichnis hello
befinden und der Compiler ohne vorangestellten Pfad nur im aktuellen Verzeichnis sucht.
Nach dem Kompilieren zeigt ls
zusätzlich das Unterverzeichnis bin
an.
Um das Programm zu starten, wechseln Sie in das Unterverzeichnis.
cd bin
und starten wieder mit
java App
Fazit
All dies erledigt eine IDE (Integrated Development Environment), wie Visual Studio Code, Eclipse oder IntelliJ mit einem Knopfdruck im Hintergrund. Aber auch in einer IDE können Fehler auftreten, die nur mit Kenntnis der grundlegenden Befehle zu beheben sind.