.Wenn Sie beginnen, Java zu lernen, ist das erste große Hindernis, dem Sie normalerweise begegnen, die „Kompilierung“. Allein das Schreiben von Quellcode (.java) reicht nicht aus, um ein Programm auszuführen. Sie müssen ihn mit dem Befehl javac kompilieren, um eine .class‑Datei zu erzeugen, bevor sie ausgeführt werden kann. In diesem Artikel erklären wir den Java‑Kompilierungsprozess, die grundlegende Verwendung von javac, die PATH‑Konfiguration und den Umgang mit häufigen Fehlern – alles Schritt für Schritt, sodass Anfänger leicht folgen können. Ziel ist es, Ihnen zu helfen, von „Wie fange ich mit der Java‑Kompilierung an?“ zu einem sicheren Kompilieren und Ausführen von Java‑Programmen zu gelangen, ohne Verwirrung.
- 1 Was ist Java‑Kompilierung? | „Kompilierung“ für Anfänger verstehen
- 2 Voraussetzungen für die Java‑Kompilierung
- 3 Praktisches Kompilieren einer Java‑Datei
- 4 Ausführen eines Programms nach der Kompilierung
- 5 Häufige Fehler und wie man sie behebt
- 6 Kompilieren mit einer IDE
- 7 Grundlegende javac‑Optionen
- 8 Zusammenfassung
- 9 FAQ: Häufige Fragen zur Java‑Kompilierung
Was ist Java‑Kompilierung? | „Kompilierung“ für Anfänger verstehen
In Java bezeichnet „Kompilierung“ den Vorgang, menschlich geschriebenen Quellcode (.java) in ein Format zu konvertieren, das die Java Virtual Machine (JVM) lesen kann.
Das Ergebnis dieses Vorgangs ist eine .class‑Datei, die Bytecode genannt wird.
Im Gegensatz zu Sprachen wie C, die direkt in nativen Maschinencode kompiliert werden, wandelt Java den Quellcode zuerst in Bytecode um und führt ihn dann auf der JVM aus.
Dank dieses Mechanismus kann dieselbe .class‑Datei auf verschiedenen Betriebssystemen laufen, sodass das gleiche Java‑Programm unter Windows, macOS und Linux ausgeführt werden kann.
Ein weiterer wichtiger Punkt ist, dass Kompilierung und Ausführung separate Vorgänge sind.
- „javac“ → verantwortlich für die Kompilierung
- „java“ → verantwortlich für die Ausführung
Etwa 90 % der Anfänger kämpfen damit, weil diese Unterscheidung unklar ist.
Das feste Verständnis, dass diese beiden Befehle unterschiedliche Rollen haben, ist der effizienteste erste Schritt.
Voraussetzungen für die Java‑Kompilierung
Um Java‑Code zu kompilieren, muss das JDK (Java Development Kit) installiert sein.
Das JRE allein reicht nicht aus, da der Compiler javac ein Entwickler‑Tool ist, das nur im JDK enthalten ist.
Prüfen Sie zunächst Folgendes:
javac -version
Wenn dieser Befehl eine Versionsnummer zurückgibt, ist alles in Ordnung.
Wenn Sie eine Meldung wie „command not found“ sehen, ist wahrscheinlich Folgendes der Fall:
- Das JDK ist nicht installiert
- Das JDK ist installiert, aber der PATH ist nicht gesetzt
- Nur das JRE ist installiert (keine Entwickler‑Tools)
Insbesondere ist die PATH‑Konfiguration ein häufiges Stolperfeld für Anfänger.
Wenn das System das Verzeichnis, das javac (bzw. das bin‑Verzeichnis) enthält, nicht finden kann, funktioniert die Kompilierung nicht.
Fazit:
Sie können erst mit dem Kompilieren von Java beginnen, wenn sowohl „JDK‑Installation“ als auch „PATH‑Überprüfung“ korrekt abgeschlossen sind.
Praktisches Kompilieren einer Java‑Datei
Hier erstellen wir ein einfaches Beispielprogramm und kompilieren es mit javac.
Speichern Sie zunächst den folgenden Inhalt in einem Texteditor.
Sample.java
public class Sample {
public static void main(String[] args) {
System.out.println("Hello Java!");
}
}
Der Dateiname muss Sample.java sein, und es ist entscheidend, dass der öffentliche Klassenname mit dem Dateinamen übereinstimmt.
Java kompiliert nicht, wenn diese Regel verletzt wird – ein klassischer Anfängerfehler.
Führen Sie anschließend den folgenden Befehl in Ihrem Terminal oder der Eingabeaufforderung aus:
javac Sample.java
Wenn die Kompilierung erfolgreich ist, erscheint eine Sample.class‑Datei im selben Verzeichnis.
Damit ist die Kompilierung erfolgreich abgeschlossen.
An diesem Punkt haben Sie nun:
- Sample.java (Quellcode)
- Sample.class (Bytecode)
Mit diesem Paar können Sie ein Java‑Programm ausführen.
Ausführen eines Programms nach der Kompilierung
Nach der Kompilierung ist der nächste Schritt, die .class‑Datei auszuführen.
Der hierfür zu verwendende Befehl ist java, nicht javac.
java Sample
Der entscheidende Punkt ist nicht die .class‑Erweiterung anzugeben.
Wenn Sie java Sample.class schreiben, entsteht ein Fehler.
Java führt Programme aus, indem der Klassenname angegeben wird.
Zusammenfassung:
| Role | Command | Target |
|---|---|---|
| Compile | javac Sample.java | .java file |
| Run | java Sample | Class name (no extension) |
Sobald Sie die unterschiedlichen Rollen von javac und java klar verstanden haben, haben Sie die Anfängerstufe erfolgreich hinter sich gelassen.
Wenn „Hello Java!“ auf dem Bildschirm erscheint, hat Ihr Programm erfolgreich ausgeführt.
An diesem Punkt haben Sie den minimal erforderlichen Java‑Workflow verstanden.
Häufige Fehler und wie man sie behebt
Fehler beim Kompilieren von Java zu erhalten, ist für Anfänger völlig normal.
Hier konzentrieren wir uns auf die häufigsten Probleme, mit denen viele Nutzer konfrontiert werden.
1) javac: command not found
In fast 100 % der Fälle liegt die Ursache an einem der folgenden Punkte:
- Das JDK ist nicht installiert
- Der PATH ist nicht korrekt konfiguriert
Lösung:
Führen Sie javac -version aus
→ Wenn das nicht funktioniert, installieren Sie das JDK erneut und überprüfen Sie Ihre PATH‑Einstellungen.
2) Kompilierung erfolgreich, aber keine .class‑Datei wird erzeugt
Der häufigste Fehler ist:
Der Dateiname stimmt nicht mit dem Namen der öffentlichen Klasse überein
Beispiel:
public class Test {
}
→ Dies führt zu einem Kompilierungsfehler.
3) Warnungen im Zusammenhang mit der Kodierung
warning: [options] bootstrap class path not set in conjunction with -source 1.7
Warnungen wie diese sind in der Regel keine fatalen Fehler.
Sie können jedoch veraltete Quelloptionen oder Kodierungsinkonsistenzen anzeigen.
Um Probleme zu vermeiden, speichern Sie Ihre Dateien immer in UTF‑8.
Kompilieren mit einer IDE
In der realen Java‑Entwicklung führen Entwickler selten javac manuell über die Befehlszeile aus.
Das liegt daran, dass IDEs (Integrated Development Environments) die Kompilierung automatisch übernehmen.
Die folgenden IDEs sind besonders beliebt und praktisch:
| IDE | Features |
|---|---|
| IntelliJ IDEA | The de facto standard for modern Java development, suitable for professional use. |
| Eclipse | A long-established IDE widely used in enterprise projects. |
| VS Code | Lightweight; Java Extension Pack provides a complete environment. |
IDEs kompilieren Ihren Code automatisch, sobald Sie eine Datei speichern, und markieren Fehler sofort.
Damit entfallen viele Anfänger‑Fallstricke wie Tippfehler im Befehl oder falsche PATH‑Konfiguration.
Dennoch ist es wertvoll, mindestens einmal manuell mit javac zu kompilieren, um zu verstehen, wie Java intern funktioniert.
Sobald Sie den Ablauf „kompilieren → ausführen“ verstanden haben, steigt Ihre Lerngeschwindigkeit mit einer IDE deutlich.
Grundlegende javac‑Optionen
Der Befehl javac unterstützt viele Optionen, die steuern, wie die Kompilierung durchgeführt wird.
Auf Anfängerniveau müssen Sie nur einige häufig genutzte Optionen kennen.
Hier sind drei repräsentative Optionen:
| Option | Description | Example |
|---|---|---|
-d | Specifies the output directory for class files | javac -d out Sample.java |
-classpath | Specifies external libraries or additional class paths | javac -classpath lib/* Sample.java |
--enable-preview | Enables preview language features | javac --enable-preview Sample.java |
Die Option -d ist besonders wichtig, wenn Sie Pakete verwenden.
Wenn Sie zum Beispiel package com.example; nutzen, führt das Weglassen von javac -d zu einer falschen Verzeichnisstruktur.
Im professionellen Umfeld werden classpath‑ und -d‑Optionen immer wichtiger.
Schon jetzt deren Namen zu kennen, erleichtert das spätere Lernen erheblich.
Zusammenfassung
Um ein Java‑Programm auszuführen, müssen Sie den dreistufigen Prozess verstehen: Quellcode schreiben → kompilieren → ausführen.
Sobald die Rollen von javac (Kompilierung) und java (Ausführung) klar sind, wird der Zweck der Kompilierung offensichtlich.
Die beiden häufigsten Anfänger‑Fallstricke sind:
- Das JDK ist nicht installiert oder der PATH ist nicht konfiguriert
- Der Dateiname stimmt nicht mit dem Namen der öffentlichen Klasse überein
Wenn Sie diese Punkte frühzeitig beheben, vermeiden Sie unnötige Umwege beim Lernen.
Sie können zur IDE‑basierten Entwicklung übergehen, sobald Sie sich sicher fühlen, aber das Verständnis des zugrunde liegenden Mechanismus wird Ihre Lerngeschwindigkeit erheblich steigern.
Nutzen Sie diesen Artikel als Ausgangspunkt und konzentrieren Sie sich zunächst darauf, eine einzelne .java‑Datei erfolgreich in eine .class‑Datei zu verwandeln.
Dieser Moment markiert Ihren ersten echten Meilenstein beim Erlernen von Java.
FAQ: Häufige Fragen zur Java‑Kompilierung
F1: Was ist der Unterschied zwischen javac und java?
A: javac ist der Kompilierungsbefehl, der .java‑Dateien in .class‑Dateien umwandelt.
java ist der Ausführungsbefehl, der .class‑Dateien auf der JVM startet.
F2: Warum wird Sample.class nicht erzeugt?
A: Der häufigste Grund ist eine Diskrepanz zwischen Dateiname und dem Namen der public class.
Wenn die Klasse public class Sample heißt, muss die Datei Sample.java heißen.
Q3: Muss ich javac noch lernen, wenn ich eine IDE benutze?
A: IDEs kompilieren Code automatisch, aber ohne das Verfahren zu verstehen, kann es schwer sein, zu wissen, was im Hintergrund passiert. Wenn man den grundlegenden Ablauf einmal erlebt hat, wird die Nutzung der IDE viel einfacher.
Q4: Welches JDK sollte ich installieren?
A: Für Anfänger sind die LTS‑Versionen von Eclipse Adoptium (Temurin) einfach zu benutzen.
Wenn Sie keine speziellen Anforderungen haben, sind Java 17 oder 21 sichere Optionen.
Q5: Ich erhalte javac: command not found
A: Das bedeutet, dass das JDK nicht installiert ist oder der PATH nicht konfiguriert wurde.
Prüfen Sie zunächst mit javac -version.


