Einstieg und Setup
javac wird nicht erkannt: Ursache und Lösung für Windows und Mac
Veröffentlicht am 22. Oktober 20265 Min. Lesezeit
Du tippst javac Main.java ins Terminal, und statt einer übersetzten Datei kommt eine Fehlermeldung. Das passiert fast jedem beim ersten Einrichten von Java. Hier liest du, was die Meldung bedeutet, wie du die Ursache in zwei Minuten findest und wie du sie unter Windows und macOS behebst.
Was die Meldung bedeutet
Je nach System sieht der Fehler etwas anders aus:
Der Befehl "javac" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
In der PowerShell heißt es, die Benennung „javac“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Auf dem Mac siehst du zsh: command not found: javac oder den Hinweis „Unable to locate a Java Runtime“.
Gemeint ist immer dasselbe: Das Terminal findet das Programm javac nicht. Mit deinem Java-Code hat das nichts zu tun. Der Code ist noch gar nicht beim Compiler angekommen.
Die Ursache in zwei Minuten finden
Öffne ein neues Terminal und gib diese zwei Befehle ein:
java -version javac -version
Jetzt gibt es drei Fälle:
java -version | javac -version | Ursache |
|---|---|---|
| Fehler | Fehler | Es ist kein Java installiert, oder der PATH fehlt ganz. |
| Version wird angezeigt | Fehler | Du hast nur eine Laufzeitumgebung (JRE), kein JDK, oder der PATH zeigt auf ein altes Java. |
| Version wird angezeigt | Version wird angezeigt | Alles in Ordnung. Das alte Terminal kannte den neuen PATH nur noch nicht. |
Der dritte Fall ist häufiger, als man denkt. Ein Terminal liest den PATH beim Start. Wenn du Java installierst, während es offen ist, musst du es schließen und neu öffnen. Das gilt auch für das Terminal in deiner IDE.
Unterschied zwischen JRE und JDK
Die JRE kann Java-Programme nur ausführen. Den Compiler javac enthält nur das JDK. Wer früher Java für ein Spiel oder ein Programm von java.com installiert hat, hat oft nur eine Laufzeitumgebung. Dann funktioniert java, aber javac fehlt. Die Lösung ist, ein JDK zu installieren, am besten eine aktuelle LTS-Version wie JDK 25.
Lösung unter Windows
1. JDK installieren
Lade ein JDK für Windows x64 herunter, zum Beispiel von Oracle oder Eclipse Temurin. Der Oracle-Installer legt laut der Oracle-Installationsanleitung java.exe und javac.exe in einen Ordner javapath, der im PATH steht. Beim Temurin-Installer ist die Option für den PATH standardmäßig aktiv. Für beide Installer brauchst du Admin-Rechte. Hast du die nicht, lies Java ohne Admin-Rechte.
2. Prüfen, wo das JDK liegt
Das Oracle-JDK landet normalerweise in einem Ordner wie diesem:
C:\Program Files\Java\jdk-25
Darin gibt es einen Unterordner bin. Genau dort liegt javac.exe. Schau im Explorer nach, wie der Ordner bei dir genau heißt.
3. PATH von Hand setzen
Wenn javac nach einem neuen Terminal immer noch fehlt, trägst du den Ordner selbst ein:
- Drück die Windows-Taste und suche nach „Umgebungsvariablen“.
- Wähle „Umgebungsvariablen für dieses Konto bearbeiten“. Dafür brauchst du keine Admin-Rechte.
- Markiere unter „Benutzervariablen“ den Eintrag
Pathund klicke auf „Bearbeiten“. - Klicke auf „Neu“ und füge den
bin-Ordner ein, zum BeispielC:\Program Files\Java\jdk-25\bin. - Bestätige alle Fenster mit OK.
- Schließe jedes offene Terminal und öffne ein neues.
Drei Fehler kommen hier immer wieder vor:
\binvergessen. Der PATH muss auf denbin-Ordner zeigen, nicht auf den JDK-Ordner selbst.- Altes Java steht weiter vorn. Mit
where javaundwhere javacsiehst du, welche Dateien Windows wirklich findet. Steht ein alter Java-8-Pfad vor deinem JDK, schiebst du deinen Eintrag mit „Nach oben“ nach vorn. JAVA_HOMEfalsch gesetzt. Manche Programme brauchen zusätzlichJAVA_HOME. Es zeigt auf den JDK-Ordner ohne\bin.
Lösung unter macOS
Auf dem Mac ist die Lage etwas anders. macOS bringt kleine Platzhalter für java und javac mit, aber kein echtes Java. Ohne JDK melden sie, dass keine Java-Laufzeit gefunden wurde.
1. Das richtige JDK installieren
Prüfe zuerst, welchen Chip dein Mac hat: Apple-Menü, dann „Über diesen Mac“. Steht dort ein Chip wie „Apple M2“, brauchst du die Variante aarch64. Bei „Intel“ nimmst du x64. Oracle bietet für beide eine .dmg-Datei an. Der Installer fragt nach deinem Admin-Passwort und legt das JDK nach /Library/Java/JavaVirtualMachines/. Danach finden die Platzhalter java und javac es automatisch, ein PATH-Eintrag ist dann normalerweise nicht nötig.
2. Prüfen, welches JDK aktiv ist
/usr/libexec/java_home -V
Der Befehl listet alle installierten JDKs auf. Taucht deins nicht auf, hat die Installation nicht geklappt.
3. Sonderfall Homebrew
Hast du das JDK mit brew install openjdk installiert, landet es nicht im Systemordner. Homebrew zeigt nach der Installation einen Hinweis mit einem sudo ln -sfn ...-Befehl an, der das JDK für die System-Platzhalter sichtbar macht. Führe genau diesen Befehl aus, oder setze den PATH in deiner ~/.zshrc:
export JAVA_HOME=$(/usr/libexec/java_home) export PATH="$JAVA_HOME/bin:$PATH"
Danach öffnest du ein neues Terminal-Fenster.
Testen, ob alles läuft
Leg eine Datei Main.java an:
public class Main { public static void main(String[] args) { System.out.println("javac läuft!"); }}
Übersetze und starte sie im selben Ordner:
javac Main.java java MainAusgabe
javac läuft!
Wichtig: Beim Starten schreibst du java Main, ohne .class. Seit Java 11 kannst du kleine Programme aus einer Datei auch direkt mit java Main.java starten, dann übersetzt Java im Hintergrund selbst. Für den Unterricht solltest du trotzdem beide Schritte kennen.
Wenn jetzt Fehler wie cannot find symbol oder ';' expected kommen, ist die Einrichtung fertig. Das sind echte Compiler-Fehler in deinem Code. Was sie bedeuten, erklärt Die 10 häufigsten Java-Fehlermeldungen.
Der schnellste Ausweg: heute üben, später einrichten
Manchmal hast du heute Abend schlicht keine Zeit für PATH und JDK. Die Klassenarbeit ist in vier Wochen, und du willst endlich Code schreiben. Dann kannst du die Einrichtung verschieben.
In Jario läuft Java im Browser. Du brauchst kein JDK, keinen PATH und keine Admin-Rechte, der Code läuft auf unserem Server. Mit „Ausführen“ startest du main, mit „Prüfen“ laufen Tests, etwa „3 von 4 Tests bestanden“. Echte Compiler-Fehler erklärt dir der Hinweis „Was heißt das?“ auf Deutsch, und der KI-Tutor erklärt mit „Fehler erklären“ den Fehler in deinem eigenen Code.
Ein guter Einstieg ist der Artikel Ein- und Ausgabe in Java, danach Bedingungen mit if und else und später Methoden. Zu jedem Thema gibt es Aufgaben mit Tests. Die ersten zwei kannst du ohne Konto lösen.
Wenn du später doch lokal arbeiten musst, ist diese Anleitung immer noch da. Mehr zum Start ohne Setup findest du in Java lernen ohne Installation. Und wenn du einen Mac mit Eclipse nutzt, hilft Eclipse auf dem Mac einrichten.
Kurz gesagt
- „javac wird nicht erkannt“ heißt: Das Terminal findet den Compiler nicht.
- Prüfe mit
java -versionundjavac -version, ob ein JDK fehlt oder nur der PATH. - Unter Windows gehört der
bin-Ordner des JDK in den PATH, danach brauchst du ein neues Terminal. - Auf dem Mac installierst du das JDK passend zum Chip, aarch64 oder x64.
Passende Artikel zum Lernen
- Ein- und AusgabeJava Ein- und Ausgabe einfach erklärt: Werte mit println und printf ausgeben, Zahlen mit Scanner einlesen. Mit Beispielen und typischen Fehlern.Zum Artikel
- BedingungenJava Bedingungen mit if, else if, switch und &&, || verständlich erklärt. Mit Beispielen und den typischen Fehlern, die in Klausuren Punkte kosten.Zum Artikel
- Methoden und RekursionJava Methoden einfach erklärt: Parameter, return, Überladen, varargs und Rekursion mit Beispielen. Plus typische Fehler wie ein fehlendes return.Zum Artikel
Weitere Beiträge
- Einstieg und SetupBlueJ zu HauseBlueJ zu Hause einrichten oder ganz ohne Installation üben: was auf Familien-Laptop, Tablet und Chromebook geht und wie du den Stoff für die Klausur trainierst.Weiterlesen
- Einstieg und SetupEclipse auf dem MacEclipse auf dem Mac startet nicht oder findet kein JDK? Die häufigsten Ursachen auf Apple-Silicon- und Intel-Macs gelöst, und wie du heute trotzdem übst.Weiterlesen
- Einstieg und SetupJava ohne Admin-RechteJava ohne Admin-Rechte auf dem Firmen-Laptop oder Schulrechner: welche Wege erlaubt sind, was technisch geht und wie du trotzdem jeden Tag übst.Weiterlesen