Schlagwort: javac

  • Java und javac im Terminal

    java blue circle

    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.

    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.

    VSCode, Explorer-Bereich mit der Projekt-Struktur

    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

    Auch hier zeigt ls den Inhalt an, nämlich die Datei „App.java“, die wir kompilieren möchten. Der Befehl dazu lautet:

    javac App.jave
    Ubuntu Terminal mit dem Projektverzeichnis.

    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 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.

    Ubuntu Terminal mit dem Projektverzeichnis.

    Nach dem Kompilieren zeigt ls zusätzlich das Unterverzeichnis bin an.

    Um das Programm auszuführen, wechseln Sie in das Unterverzeichnis.

    cd bin

    und starten 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.