Wenn Sie beginnen, Java zu lernen, ist die allererste Hürde, der Sie begegnen, die „Kompilierung“. Das bloße Schreiben von Quellcode (.java) führt zu nichts – Sie müssen ihn mit dem Befehl javac kompilieren, um eine .class‑Datei zu erzeugen, und erst dann kann das Programm ausgeführt werden. In diesem Artikel fassen wir das Java‑Kompilierungsverfahren, die Grundbenutzung von javac, die PATH‑Konfiguration und Lösungen für häufige Anfänger‑Fehler zusammen – in einer Reihenfolge, der selbst ein kompletter Neuling Schritt für Schritt folgen kann. Ziel ist es, von „Wie fange ich überhaupt mit der Java‑Kompilierung an?“ zu einem sicheren Tippen der Befehle ohne Zögern zu gelangen.
- 1 Was ist Java‑Kompilierung? | Einsteiger‑freundliche Erklärung von „Kompilierung“
- 2 Vorbereitung, die vor dem Kompilieren von Java nötig ist
- 3 Jetzt eine Java‑Datei wirklich kompilieren
- 4 Wie man es nach der Kompilierung ausführt
- 5 Häufige Fehler und wie man sie behebt
- 6 Kompilieren mit einer IDE
- 7 Grundlagen der javac‑Optionen
- 8 Zusammenfassung
- 9 FAQ: Häufig gestellte Fragen zur Java‑Kompilierung
Was ist Java‑Kompilierung? | Einsteiger‑freundliche Erklärung von „Kompilierung“
In Java ist „Kompilierung“ der Vorgang, bei dem menschlich geschriebener Quellcode (.java) in ein vom Java Virtual Machine (JVM) lesbares Format umgewandelt wird.
Das Ergebnis ist die .class‑Datei, der sogenannte Bytecode.
Im Gegensatz zu Sprachen wie C, die direkt in nativen Code übersetzen, macht Java einen Zwischenschritt – der Quellcode wird zuerst in Bytecode konvertiert und dann von der JVM ausgeführt.
Dieser Mechanismus ermöglicht, dass dieselbe .class‑Datei auf verschiedenen Betriebssystem‑Umgebungen läuft – das heißt, Sie können genau dasselbe Java‑Programm unter Windows, macOS oder Linux ausführen.
Ein weiterer wichtiger Punkt, den Sie verstehen müssen: Kompilieren und Ausführen sind getrennte Aktionen.
- „javac“ → übernimmt die Kompilierung
- „java“ → übernimmt die Ausführung
Den meisten Anfängern fehlt diese Unterscheidung, weil sie für sie unscharf bleibt. Das Klarstellen dieser „zwei verschiedenen Rollen“ ist der effizienteste erste Schritt zum Verständnis.
Vorbereitung, die vor dem Kompilieren von Java nötig ist
Um Java zu kompilieren, müssen Sie das JDK (Java Development Kit) installiert haben.
Das JRE allein kann keinen Code kompilieren, weil das Compiler‑Werkzeug javac nur im JDK enthalten ist.
Überprüfen Sie dies zunächst:
javac -version
Wenn dieser Befehl eine Versionsnummer zurückgibt, sind Sie startklar.
Erhalten Sie „command not found“ oder ähnliche Fehlermeldungen, ist höchstwahrscheinlich Folgendes der Grund:
- Das JDK ist nicht installiert
- Das JDK ist installiert, aber der PATH ist nicht gesetzt
- Sie haben nur das JRE installiert (kein Development‑Kit)
Die PATH‑Konfiguration ist besonders dort, wo viele Nutzer – insbesondere japanische – hängen bleiben.
Wenn das Betriebssystem den Pfad zu javac.exe (oder zum /bin‑Verzeichnis) nicht erkennt, funktioniert die Kompilierung nicht.
Fazit:
„JDK bereitstellen“ und „PATH prüfen“ – nur wenn diese beiden Voraussetzungen erfüllt sind, können Sie an der eigentlichen Startlinie der Java‑Kompilierung stehen.
Jetzt eine Java‑Datei wirklich kompilieren
Hier erstellen wir ein Beispielprogramm und zeigen den Ablauf der Kompilierung mit javac.
Speichern Sie zunächst den folgenden Inhalt mit 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 der öffentliche Klassenname muss exakt dem Dateinamen entsprechen.
Wird diese Regel verletzt, schlägt die Kompilierung fehl – das ist einer der häufigsten Anfänger‑Fehler.
Führen Sie anschließend im Terminal / in der Eingabeaufforderung Folgendes aus:
javac Sample.java
Wenn alles normal abläuft, wird Sample.class im selben Ordner erzeugt.
Damit ist die „Kompilierung abgeschlossen“.
Also haben Sie zu diesem Zeitpunkt:
- Sample.java (Quellcode)
- Sample.class (Bytecode)
Dieses Paar ist nun bereit.
In diesem Schritt können Sie das Java‑Programm „ausführen“.
Wie man es nach der Kompilierung ausführt
Nach erfolgreicher Kompilierung ist der nächste Schritt, die .class‑Datei zu starten.
Der hierfür zu verwendende Befehl ist java – nicht javac.
java Sample
Wichtig: Geben Sie nicht die .class‑Erweiterung an.
java Sample.class führt zu einem Fehler.
Java ist so konzipiert, dass es anhand des Klassennamens (ohne Erweiterung) ausgeführt wird.
Übersichtliche Zusammenfassung:
| Role | Command | Target |
|---|---|---|
| Compile | javac Sample.java | .java file |
| Run | java Sample | Class name (without extension) |
Wenn Sie den Rollenwechsel zwischen javac und java verstanden haben, haben Sie die Anfängerstufe erfolgreich gemeistert.
Wenn „Hello Java!“ erfolgreich erscheint, hat der Vorgang funktioniert.
An diesem Punkt hast du den minimalen „Ablauf“ von Java verstanden.
Häufige Fehler und wie man sie behebt
Bei der Java‑Kompilierung ist es völlig normal, am Anfang Fehler zu erhalten.
Hier konzentrieren wir uns nur auf die Fehler, in die japanische Anfänger besonders häufig geraten.
1) javac: command not found / 'javac' wird nicht erkannt…
In fast 100 % der Fälle liegt der Grund an einem der folgenden Punkte:
- Das JDK ist nicht installiert
- Der PATH ist nicht konfiguriert
Lösung:
Führe javac -version aus, um zu prüfen
→ Wenn nichts erscheint, installiere das JDK erneut und überprüfe die PATH‑Konfiguration.
2) Kompilierung gelingt, aber es wird keine .class‑Datei erzeugt
Das häufigste Problem bei japanischen Anfängern ist folgendes:
Dateiname und öffentlicher Klassenname stimmen nicht überein
Beispiel — Wenn Sample.java enthält:
public class Test {
}
→ Dies führt zu einem Kompilierungsfehler.
3) Warnungen im Zusammenhang mit Zeichenkodierung
warning: [options] bootstrap class path not set in conjunction with -source 1.7
Solche Warnungen sind in den meisten Fällen nicht fatal.
Sie können jedoch auf veraltete Versionseinstellungen oder eine falsche Kodierung hinweisen.
Dateien in UTF‑8 zu speichern ist die sicherste Wahl.
Kompilieren mit einer IDE
In der realen Java‑Entwicklung tippt man selten jedes Mal javac manuell im Terminal.
Das liegt daran, dass die IDE (Integrated Development Environment) die Kompilierung automatisch im Hintergrund übernimmt.
Die folgenden drei IDEs sind in Japan äußerst beliebt und ebenfalls praktisch zum Lernen:
| IDE | Characteristics |
|---|---|
| IntelliJ IDEA | The de-facto standard for modern Java development. Suitable for professional use. |
| Eclipse | Long history, widely used in enterprise projects. |
| VSCode | Lightweight. Java Extension Pack enables a proper Java environment. |
In IDEs erfolgt die Kompilierung jedes Mal automatisch, wenn du eine Datei speicherst — und Fehlstellen werden sofort visualisiert.
Das bedeutet, du kannst Anfängerhindernisse wie „falsches Tippen von javac“ oder „falsche PATH‑Konfiguration“ umgehen.
Es ist jedoch nach wie vor wahr, dass es einen großen Mehrwert hat, javac mindestens einmal manuell zu erleben, um zu verstehen, wie Java funktioniert.
Sobald du den Ablauf „kompilieren → ausführen“ von Hand verstehst, steigt deine Auffassungsgeschwindigkeit beim Umstieg auf IDE‑basierte Entwicklung deutlich.
Grundlagen der javac‑Optionen
javac ist nicht nur ein „.java → .class‑Konverter“. Du kannst mehrere Optionen anhängen, um das Kompilierverhalten zu steuern.
Aber im Anfängerstadium musst du nicht alles auswendig lernen — es reicht, die gängigen Optionen zu kennen.
Hier sind drei repräsentative Optionen:
| Option | Meaning | Example |
|---|---|---|
-d | Specify output directory for .class files | javac -d out Sample.java |
-classpath | Specify classpath for external libraries / other directories | javac -classpath lib/* Sample.java |
--enable-preview | Enable preview language features | javac --enable-preview Sample.java |
Besonders -d ist fast zwingend erforderlich, wenn du Pakete nutzt.
Zum Beispiel, wenn du package com.example; schreibst, musst du javac -d verwenden, um die Verzeichnisstruktur im Ausgabeverzeichnis korrekt zu erzeugen.
Wenn du in die reale Arbeit übergehst, steigen die Angabe des Klassenpfads und die Nutzung von -d stark an.
Schon das Bewusstsein für diese Namen in diesem Stadium erleichtert das spätere Lernen.
Zusammenfassung
Um Java‑Programme auszuführen, musst du die 3‑Schritte‑Sequenz verstehen: Quellcode schreiben → kompilieren → ausführen.
Besonders wenn du die Rollen von javac (Kompilierung) und java (Ausführung) gedanklich trennst, wird der Grund „warum Kompilierung nötig ist“ plötzlich völlig klar.
Außerdem bleiben Anfänger häufig an diesen beiden Punkten hängen:
- JDK ist nicht installiert / PATH ist nicht konfiguriert
- Dateiname und öffentlicher Klassenname stimmen nicht überein
Wenn du nur diese beiden Probleme löst, vermeidest du große Umwege in der Lernphase.
Nachdem du dich an die Grundlagen gewöhnt hast, ist der Umstieg auf IDE‑Entwicklung völlig in Ordnung.
Ob du jedoch „den inneren Mechanismus verstehst“, ist später entscheidend für die Geschwindigkeit des Lernens.
Nutze diesen Artikel als Ausgangspunkt und schließe zuerst erfolgreich einmal .java → .class ab.
Das ist der erste Erfolgspunkt beim Erlernen von Java.
FAQ: Häufig gestellte Fragen zur Java‑Kompilierung
Q1: Was ist der Unterschied zwischen javac und java?
A: javac ist der Befehl zur Kompilierung — er wandelt .java in .class um.
Auf der anderen Seite ist java der Befehl zur Ausführung — er führt die .class auf der JVM aus.
Q2: Sample.class wird nicht erzeugt. Was ist die Ursache?
A: Die häufigste Ursache ist, dass der Dateiname und der Name der public class nicht übereinstimmen.
Wenn die Klasse public class Sample ist, muss die Datei Sample.java heißen.
Q3: Benutze ich eine IDE, muss ich dann nicht mehr javac lernen?
A: IDEs kompilieren automatisch im Hintergrund, aber wenn du den Mechanismus nicht verstehst, wird es schwieriger, zu begreifen, was tatsächlich passiert.
Einmal den grundlegenden Ablauf zu erleben, hilft dir, das Verhalten der IDE schneller zu verstehen.
Q4: Welches JDK sollte ich installieren?
A: Für Anfänger sind die LTS-Versionen von Temurin (Eclipse Adoptium) einfach zu benutzen.
Wenn du keinen spezifischen Grund hast, wähle Java 17 oder 21.
Q5: Ich erhalte javac: command not found
A: Entweder ist das JDK nicht installiert oder der PATH ist nicht konfiguriert.
Führe zuerst javac -version aus, um zu prüfen, ob es erkannt wird.

