- 1 1. Was Sie in diesem Artikel lernen werden (Kurzfassung)
- 2 2. Start hier: Befehlsliste zur Java‑Version‑Prüfung (Kopieren & Einfügen)
- 2.1 2.1 Prüfen der zur Laufzeit verwendeten Java-Version
- 2.2 2.2 Prüfen der Java-Entwicklungsumgebung (JDK)-Version
- 2.3 2.3 Der Unterschied zwischen java -version und javac -version (häufige Verwirrung bei Anfängern)
- 2.4 2.4 Überprüfung mit einem JDK‑Tool (optional)
- 2.5 2.5 Empfohlene Reihenfolge zur Überprüfung (anfängerfreundlich)
- 3 3. Wie man java -version liest (Beispielausgabe und Interpretation)
- 4 4. Wie man javac -version liest (Bestätigung, ob das JDK installiert ist)
- 5 5. Wie man die Java‑Version unter Windows prüft
- 5.1 5.1 Prüfung über die Eingabeaufforderung / PowerShell (Grundlegend)
- 5.2 5.2 Ein Windows‑spezifischer Schlüsselbefehl: where java
- 5.3 5.3 Warum eine alte Java-Version auch nach der Installation verwendet wird
- 5.4 5.4 So überprüfen Sie JAVA_HOME (Windows)
- 5.5 5.5 Sichere Checkliste für Windows
- 5.6 5.6 Die Überprüfung über die GUI (Umgebungsvariablen-Bildschirm) kann warten
- 6 6. So überprüfen Sie die Java-Version unter macOS
- 6.1 6.1 Überprüfen Sie die grundlegenden Befehle im Terminal
- 6.2 6.2 Hinweis: macOS verwaltet JAVA_HOME automatisch
- 6.3 6.3 Auflisten der installierten JDKs
- 6.4 6.4 Wenn java -version und java_home nicht übereinstimmen
- 6.5 6.5 Sichere Checkliste für macOS
- 6.6 6.6 Denken Sie in Bezug auf „Umschalten“ unter macOS
- 7 7. So überprüfen Sie die Java-Version unter Linux
- 7.1 7.1 Beginnen Sie mit den grundlegenden Befehlen
- 7.2 7.2 Verwenden Sie which java, um die tatsächliche Binärdatei zu finden
- 7.3 7.3 Verwalten mehrerer Java-Versionen auf Debian / Ubuntu (update-alternatives)
- 7.4 7.4 Wenn java -version und Alternativen nicht übereinstimmen
- 7.5 7.5 Sichere Checkliste für Linux
- 8 8. Warum die angezeigte Java-Version abweicht (Ursachen und Lösungen)
- 9 9. Eine Checkliste, die über das bloße „Überprüfen“ hinausgeht
- 10 10. FAQ (Häufig gestellte Fragen)
- 10.1 10.1 Was ist der Unterschied zwischen java -version und javac -version?
- 10.2 10.2 Warum wird javac nicht gefunden?
- 10.3 10.3 Ich habe Java installiert, aber es wird immer noch eine alte Version angezeigt
- 10.4 10.4 Kann ich mehrere Java‑Versionen sicher verwenden?
- 10.5 10.5 Welche Java‑Version sollte ich verwenden?
1. Was Sie in diesem Artikel lernen werden (Kurzfassung)
Auf dieser Seite stellen wir den schnellsten Weg zusammen, um Ihr Ziel zu erreichen, „die Java-Version über die Befehlszeile zu prüfen.“
Um das Fazit gleich zu Beginn zu teilen, sind die Befehle, die Sie normalerweise verwenden, diese beiden:
- Die tatsächlich ausgeführte Java-Version →
java -version - Die JDK‑ (Compiler‑)Version für die Entwicklung →
javac -version
In realen Umgebungen kommt es jedoch sehr häufig vor, dass „die erwartete Version nicht die ist, die angezeigt wird.“
Dieser Artikel listet nicht nur Befehle auf – er erklärt auch warum die Diskrepanz entsteht und wie man sie behebt.
1.1 Was Sie nach dem Lesen tun können
Am Ende werden Sie in der Lage sein, Folgendes zu tun:
- Überprüfen Sie sofort Ihre Java-Version wp:list /wp:list
- Verwenden Sie
java -versionundjavac -versionsicher für den richtigen Zweck
- Verwenden Sie
- Verstehen Sie, wie man unter Windows / macOS / Linux prüft wp:list /wp:list
- Überprüfen Sie Java unter Berücksichtigung gängiger betriebssystemspezifischer Unterschiede
- Ermitteln Sie, welches Java verwendet wird, selbst wenn mehrere Versionen installiert sind wp:list /wp:list
- Beheben Sie das Problem „Ich habe es installiert, aber eine ältere Version wird weiterhin angezeigt“ selbstständig
- Verstehen Sie die typischen Ursachen und Lösungen, wenn die angezeigte Version nicht Ihrer Erwartung entspricht wp:list /wp:list
- Lernen Sie die Grundlagen von PATH, JAVA_HOME und Einstellungen zum Versionswechsel
1.2 Zielgruppe (Anfänger willkommen)
- Sie müssen Java verwenden und möchten zuerst wissen, welches Java auf Ihrem PC installiert ist
- Ihnen wurde gesagt „Java 17 erforderlich“ oder „Nur Java 8“, und Sie müssen Ihre aktuelle Version prüfen
- Sie haben einen Befehl ausgeführt und eine andere Version erhalten als erwartet, und Sie kommen nicht weiter
javafunktioniert, aberjavacnicht, und Sie verstehen die Unterschiede zwischen JRE und JDK nicht vollständig
1.3 Ein wichtiger Punkt, den Sie von Anfang an wissen sollten (Sehr wichtig)
Die meiste Verwirrung beim Prüfen der Java-Version lässt sich auf diesen einen Punkt zurückführen:
- „Auf dem Rechner installiertes Java“ ist nicht dasselbe wie „das tatsächlich ausgeführte Java.“
Wenn mehrere Java-Installationen vorhanden sind, ist das ausgeführte Java das, das zur Laufzeit am höchsten priorisierten Ort gefunden wird. Deshalb kann das Ergebnis von java -version nicht „die neueste, gerade installierte Version“ sein.
Mit diesem Unterschied im Hinterkopf erklärt dieser Artikel in folgender Reihenfolge:
- Was zuerst auszuführen ist (der kürzeste Weg)
- Was als Nächstes zu prüfen ist, um die Ursache zu ermitteln (Untersuchungsschritte)
- Wie man es behebt (Lösungsschritte)
Schritt für Schritt.
2. Start hier: Befehlsliste zur Java‑Version‑Prüfung (Kopieren & Einfügen)
Sie benötigen nicht viele Befehle, um Ihre Java-Version zu prüfen.
Wenn Sie sich nur an diesen Abschnitt erinnern, lösen Sie etwa 90 % der Fälle.
2.1 Prüfen der zur Laufzeit verwendeten Java-Version
java -version
Dieser Befehl zeigt die Version von Java, das gerade auf diesem PC ausgeführt wird.
Er ist die grundlegendste – und wichtigste – Methode, um Ihre Java-Umgebung zu bestätigen.
Was die Ausgabe typischerweise enthält (Beispiel)
- Die Java-Versionsnummer (z. B. 17 / 21 / 1.8 usw.)
- Die Implementierung (OpenJDK / Oracle JDK usw.)
- Details zur Laufzeitumgebung wie 64‑Bit / Server‑VM
Der entscheidende Punkt ist: Es greift auf das java zu, das in Ihrem PATH die höchste Priorität hat.
Es geht nicht darum, „wo Sie Java installiert haben“, sondern „welches Java aufgerufen wird.“ Behalten Sie das im Hinterkopf.
2.2 Prüfen der Java-Entwicklungsumgebung (JDK)-Version
javac -version
Dieser Befehl zeigt die Version des Java‑Compilers (javac).
Was das Ihnen sagt
- Ob das JDK korrekt installiert ist
- Ob Sie Java nicht nur zum Ausführen von Anwendungen, sondern auch für Entwicklung/Builds nutzen können
Wenn dieser Befehl etwas wie folgt ausgibt:
- „command not found“
- „
javacwird nicht als interner oder externer Befehl erkannt“
dann ist es sehr wahrscheinlich, dass das JDK nicht installiert ist oder dass Ihr PATH nicht korrekt gesetzt ist.
2.3 Der Unterschied zwischen java -version und javac -version (häufige Verwirrung bei Anfängern)
| Command | What It Checks | Main Use |
|---|---|---|
java -version | Java at runtime | Running apps / verifying runtime behavior |
javac -version | Compiler (JDK) | Development / builds |
Ein häufiges Missverständnis ist:
- Wenn
java -versionfunktioniert, kann man Java‑Code entwickeln. Das ist nicht korrekt. - Nur ausführen →
java - Entwickeln (kompilieren) →
javac
Diese beiden haben unterschiedliche Rollen, daher ist das Prüfen beider der Standardansatz.
2.4 Überprüfung mit einem JDK‑Tool (optional)
Je nach Umgebung kann man die JDK‑Version auch mit folgendem Befehl prüfen:
jshell --version
jshellist ein Tool, das standardmäßig in JDK 9 und später enthalten ist- Wenn das funktioniert, ist das ein gutes Zeichen dafür, dass das JDK installiert ist
Das heißt, solange du java -version und javac -version verstehst, reicht das in der Regel aus.
2.5 Empfohlene Reihenfolge zur Überprüfung (anfängerfreundlich)
Wenn du neu dabei bist, reduziert die folgende Reihenfolge die Verwirrung:
java -version→ Prüft die zur Laufzeit verwendete Java‑Versionjavac -version→ Bestätigt, dass das Entwicklungs‑JDK verfügbar ist- Wenn die Ergebnisse nicht deinen Erwartungen entsprechen, siehe den nächsten Abschnitt für OS‑spezifische Prüfungen
3. Wie man java -version liest (Beispielausgabe und Interpretation)
In diesem Abschnitt zerlegen wir, was erscheint, wenn du java -version ausführst, Schritt für Schritt, damit Anfänger nicht verloren gehen.
Damit soll die häufige Situation vermieden werden: „Ich weiß nicht, worauf ich achten soll.“
3.1 Die Grundfunktion von java -version
java -version
Was dieser Befehl dir sagt, ist die Java‑Version, die gerade ausgeführt wird.
Er zeigt nicht eine Liste installierter Java‑Versionen – er zeigt die tatsächlich benutzte Version.
Deshalb wird dieses Ergebnis zur Basis für Dinge wie:
- Ob du die von einer Anwendung oder einem Tool geforderte Java‑Version erfüllst
- Ob Produktions‑/Testumgebungen die beabsichtigte Java‑Version laufen lassen
- Ob unerwartet eine ältere Java‑Version verwendet wird
3.2 Typisches Ausgabe‑Beispiel (Illustration)
Die genaue Formulierung variiert je nach Umgebung, aber du wirst im Allgemeinen so etwas sehen:
java version "17.0.8"
Java(TM) SE Runtime Environment (build 17.0.8+9)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+9, mixed mode)
In dieser Ausgabe ist der wichtigste Teil die erste Zeile.
3.3 Was zuerst zu prüfen ist (das ist alles, was du brauchst)
① Versionsnummer
java version "17.0.8"
17→ Java‑17‑Serie1.8.x→ Java 821.x→ Java 21
In vielen Unternehmen werden LTS‑Releases (Long‑Term Support) wie 8 / 11 / 17 / 21 häufig eingesetzt.
Zuerst solltest du prüfen, ob es die Hauptversion ist, die dein Projekt benötigt.
② Java‑Distribution (Oracle / OpenJDK usw.)
Java(TM) SE Runtime Environment
oder
OpenJDK Runtime Environment
In den meisten Fällen musst du hierfür nicht übermäßig streng sein, wenn es nur um eine Grundüberprüfung geht.
Einige Firmen/Projekte können jedoch ausdrücklich „Oracle JDK“ oder „OpenJDK“ verlangen, sodass es je nach Umgebung relevant sein kann.
③ „64‑Bit“ / „Server‑VM“
64-Bit Server VM
- In den meisten modernen Umgebungen ist 64‑Bit normal
- Sofern du keinen besonderen Grund hast, reicht ein kurzer Blick hier aus
3.4 Warum du “eine andere Java‑Version als erwartet” bekommst
Das ist der Punkt, der Anfänger am meisten verwirrt.
Ein häufiges Missverständnis
- „Ich habe das neueste Java installiert.“
- „Also sollte
java -versiondie neueste Version anzeigen.“
In Wirklichkeit ist das nicht garantiert.
Der Grund ist simpel:
java -versionführt das erstejavaaus, das es mit höchster Priorität im PATH findet
Deshalb.
Mit anderen Worten, wenn:
- Ein älteres Java weiter vorne im PATH steht
- Mehrere JDK/JRE‑Installationen gemischt vorhanden sind
dann kann eine andere Java‑Version als die installierte ausgeführt werden.
3.5 java -version prüft das „Ergebnis“, nicht den „Ort“
Als wichtige Denkweise:
- ❌ Wo Java installiert ist
- ⭕ Welche Java‑Version tatsächlich ausgeführt wird
Genau dafür ist java -version da.
Zuerst einfach entscheiden, ob das angezeigte Ergebnis korrekt ist.
Falls nicht, verwenden Sie die folgenden Abschnitte, um die Ursache zu ermitteln und zu beheben — das ist der sicherste Ablauf.
4. Wie man javac -version liest (Bestätigung, ob das JDK installiert ist)
Hier erklären wir die Rolle von javac -version und wie man das Ergebnis interpretiert.
Das Verständnis dieses Befehls löst schnell ein häufiges Problem: „Java läuft, aber ich kann nicht entwickeln/bauen.“
4.1 Was ist javac? (Einsteiger‑freundlich)
javac ist die Abkürzung für Java‑Compiler.
java→ führt ein bereits gebautes Programm ausjavac→ kompiliert Quellcode (.java)
Damit ergeben sich die Rollen:
- Wenn Sie nur ausführen möchten →
javareicht aus - Wenn Sie entwickeln/bauen möchten →
javacwird benötigt
Das ist die grundlegende Aufgabenteilung.
4.2 Was Sie aus javac -version lernen
javac -version
Dieser Befehl zeigt die Version des aktuell verwendeten Java‑Compilers an.
Beispielausgabe (Illustration)
javac 17.0.8
Die hier angezeigte Zahl kann betrachtet werden als:
- Die JDK‑Version selbst
- Die Baseline‑Java‑Version, die für die Kompilierung verwendet wird
Dieses Verständnis reicht in den meisten realen Situationen aus.
4.3 Wichtige Hinweise, wenn es nicht zu java -version passt
Diese Art von Diskrepanz tritt häufig in der Praxis auf:
java -version→ 17javac -version→ 11
In diesem Fall haben Sie ein inkonsistentes Setup:
- Laufzeit: Java 17
- Entwicklung: Java 11
Probleme, die diese Diskrepanz verursachen kann
- Sie können neuere Sprachfeatures nicht nutzen
- Der Build gelingt, aber Laufzeit‑Fehler treten auf
- Das Verhalten unterscheidet sich zwischen CI und lokaler Umgebung
Daher ist es als Grundregel am sichersten, beide Versionen anzugleichen.
4.4 Wenn javac nicht gefunden wird (häufige Fehler)
Mögliche Meldungen sind zum Beispiel:
- „
javacwird nicht als interner oder externer Befehl erkannt“ - „command not found: javac“
In diesem Fall liegen die wahrscheinlichen Ursachen fast immer in einem der beiden Punkte vor:
Ursache 1: Das JDK ist nicht installiert
- Es ist nur das JRE (Runtime) installiert
- Entwicklungswerkzeuge sind nicht enthalten
Ursache 2: PATH ist nicht gesetzt
- Das JDK ist installiert, aber das
bin‑Verzeichnis ist nicht im PATH enthalten
Sie können diese beiden Fälle zuverlässig in den OS‑spezifischen Bestätigungsabschnitten unterscheiden.
4.5 javac -version als Hinweis „Kann ich entwickeln?“
Wenn Sie Anfänger sind, hilft Ihnen diese Eselsbrücke, Verwirrungen zu vermeiden:
java -version→ Kann ich Java ausführen?javac -version→ Kann ich Java entwickeln/bauen?
Wenn beide Befehle die erwarteten Versionen anzeigen,
ist Ihre Java‑Umgebung in einem Zustand, in dem die minimal notwendige Einrichtung abgeschlossen ist.
5. Wie man die Java‑Version unter Windows prüft
Dieser Abschnitt erklärt wie man die Java‑Version unter Windows prüft, inklusive Punkte, die in der Praxis häufig zu Problemen führen.
Da Windows ein Betriebssystem ist, in dem mehrere Java‑Installationen häufig nebeneinander existieren, ist die Reihenfolge der Prüfungen besonders wichtig.
5.1 Prüfung über die Eingabeaufforderung / PowerShell (Grundlegend)
Zunächst beginnen Sie mit der einfachsten Methode.
- Öffnen Sie Eingabeaufforderung oder PowerShell
- Führen Sie den folgenden Befehl aus
java -version
Wenn Sie mit Java entwickeln wollen, prüfen Sie zusätzlich diesen Befehl:
javac -version
An diesem Punkt:
- Wenn beide Versionen wie erwartet sind → Kein Problem
- Wenn die Version nicht dem Erwarteten entspricht → Ursache in den nächsten Schritten ermitteln
So sollten Sie das Ergebnis beurteilen.
5.2 Ein Windows‑spezifischer Schlüsselbefehl: where java
Unter Windows ist es äußerst wichtig, zu identifizieren, welche java.exe tatsächlich verwendet wird.
where java
Beispielausgabe (Illustration)
C:\Program Files\Java\jdk-17\bin\java.exe
C:\Program Files\Common Files\Oracle\Java\javapath\java.exe
Wenn mehrere Zeilen angezeigt werden, hat die oberste Zeile die höchste Priorität und ist diejenige, die tatsächlich ausgeführt wird.
5.3 Warum eine alte Java-Version auch nach der Installation verwendet wird
Häufige Ursachen unter Windows umfassen:
- Eine ältere Java-Installation ist noch vorhanden
javapatherscheint früher in PATH- JAVA_HOME und PATH stimmen nicht überein
Insbesondere, wenn das folgende Verzeichnis in PATH enthalten ist:
C:\Program Files\Common Files\Oracle\Java\javapath
führt es oft dazu, dass eine unbeabsichtigte Java-Version aufgerufen wird.

5.4 So überprüfen Sie JAVA_HOME (Windows)
Als Nächstes überprüfen Sie JAVA_HOME.
echo %JAVA_HOME%
- Wenn nichts angezeigt wird → JAVA_HOME ist nicht gesetzt
- Wenn ein unerwarteter Pfad angezeigt wird → Es könnte auf eine alte Java-Version hinweisen
Beispiel für eine korrekte Einstellung
C:\Program Files\Java\jdk-17
Beachten Sie, dass es auf das JDK-Rootverzeichnis hinweisen sollte, nicht auf das bin-Verzeichnis.
5.5 Sichere Checkliste für Windows
Für Anfänger hilft es, in dieser Reihenfolge zu überprüfen, um Verwirrung zu vermeiden:
java -versionjavac -versionwhere javaecho %JAVA_HOME%
Wenn alle vier Überprüfungen korrekt aussehen,
können Sie schließen, dass Ihre Java-Umgebung unter Windows richtig konfiguriert ist.
5.6 Die Überprüfung über die GUI (Umgebungsvariablen-Bildschirm) kann warten
Windows bietet auch einen GUI-Bildschirm zum Anzeigen und Bearbeiten von Umgebungsvariablen, aber:
- Welches Java verwendet wird
- Warum es eine Abweichung gibt
werden viel genauer durch Ausgabe der Befehle beurteilt.
Verwenden Sie die GUI, wenn Sie Einstellungen korrigieren müssen,
aber überprüfen Sie immer mit Befehlen**—das ist der praktische Ansatz.
6. So überprüfen Sie die Java-Version unter macOS
Dieser Abschnitt erklärt wie man die Java-Version unter macOS überprüft.
Im Gegensatz zu Windows hat macOS einen systemweiten Mechanismus zur Verwaltung von JDKs, daher hilft das Kenntnis der speziellen Befehle, Verwirrung zu vermeiden.
6.1 Überprüfen Sie die grundlegenden Befehle im Terminal
Zuerst beginnen Sie mit denselben grundlegenden Befehlen, die überall verwendet werden.
- Öffnen Sie Terminal
- Führen Sie den folgenden Befehl aus
java -version
Wenn Sie mit Java entwickeln planen, überprüfen Sie auch:
javac -version
Wenn diese zwei Ergebnisse wie erwartet sind,
ist die Java-Umgebung die tatsächlich unter macOS verwendet wird in Ordnung.
6.2 Hinweis: macOS verwaltet JAVA_HOME automatisch
Unter macOS ist es üblich, JAVA_HOME nicht hart zu kodieren,
sondern es dynamisch mit einem Systembefehl abzurufen.
Der repräsentative Befehl ist:
/usr/libexec/java_home
Beispielausgabe (Illustration)
/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
Dieser Pfad ist das Home-Verzeichnis des aktuellen Standard-JDK.
6.3 Auflisten der installierten JDKs
Wenn mehrere JDKs installiert sind, ist der folgende Befehl äußerst nützlich:
/usr/libexec/java_home -V
Das Ausführen dieses Befehls zeigt an:
- Installierte JDK-Versionen
- Anbieter (Oracle / OpenJDK-basiert usw.)
- Unterstützte Architekturen
Unter macOS ist dies der sicherste Weg, um zunächst zu bestätigen welche JDKs tatsächlich installiert sind.
6.4 Wenn java -version und java_home nicht übereinstimmen
Sie könnten auf eine Situation wie diese stoßen:
/usr/libexec/java_home→ Java 17java -version→ Java 11
In solchen Fällen sind die wahrscheinlichen Ursachen:
JAVA_HOMEist in Shell-Konfigurationsdateien festgelegt (.zshrc/.bashrc)- Ein anderes Java erscheint früher in PATH
- Ein mit Homebrew installiertes Java hat Vorrang
Unter macOS haben Benutzerebene-Einstellungen Vorrang,
daher haben Shell-Konfigurationsdateien einen starken Einfluss.
6.5 Sichere Checkliste für macOS
Unter macOS hält das Überprüfen in dieser Reihenfolge die Dinge organisiert:
java -versionjavac -version/usr/libexec/java_home/usr/libexec/java_home -V
Mit diesen vier Überprüfungen können Sie genau verstehen:
- Das derzeit verwendete Java
- Die Liste der installierten Java-Versionen
- Das Standard-JDK
ohne Mehrdeutigkeit.
6.6 Denken Sie in Bezug auf „Umschalten“ unter macOS
Unter macOS ist es üblich, dass:
- Verschiedene Projekte unterschiedliche Java-Versionen erfordern
- Sie zwischen mehreren JDKs umschalten
Daher:
- Gehen Sie nicht davon aus, dass es nur eine Java gibt
- Bestätigen Sie immer welche Java derzeit verwendet wird
Diese Denkweise erleichtert es erheblich, Probleme zu vermeiden.
7. So überprüfen Sie die Java-Version unter Linux
Diese Sektion erklärt wie man die Java-Version in Linux-Umgebungen überprüft, insbesondere für Servernutzung.
Während die Verwaltungsmethoden je nach Distribution unterschiedlich sind, sind die Kernkonzepte dieselben.
7.1 Beginnen Sie mit den grundlegenden Befehlen
Auch unter Linux beginnen Sie mit den gängigen Befehlen:
java -version
Wenn Entwicklung oder Builds erforderlich sind, überprüfen Sie auch:
javac -version
Mit diesen zwei Befehlen können Sie feststellen, ob:
- Die zur Laufzeit verwendete Java
- Die für die Kompilierung verwendete JDK
Ihrer Erwartungen entsprechen.
7.2 Verwenden Sie which java, um die tatsächliche Binärdatei zu finden
Unter Linux ist es wichtig zu wissen welche ausführbare Datei tatsächlich aufgerufen wird.
which java
Beispielausgabe
/usr/bin/java
Dieser Pfad ist die tatsächliche Java-Binärdatei, die von java -version verwendet wird.
Wenn Sie mehr Details benötigen, führen Sie aus:
ls -l $(which java)
Dies ermöglicht es Ihnen, den symbolischen Link zu seinem echten Ziel zu verfolgen.
7.3 Verwalten mehrerer Java-Versionen auf Debian / Ubuntu (update-alternatives)
Auf Servern ist es sehr üblich, mehrere Java-Versionen installiert zu haben.
Auf Debian/Ubuntu-basierten Systemen werden diese oft mit update-alternatives verwaltet.
Java-Alternativen auflisten
update-alternatives --list java
Die aktuelle Auswahl überprüfen
update-alternatives --display java
Der hier angezeigte Pfad ist die auf Systemebene ausgewählte Java.
7.4 Wenn java -version und Alternativen nicht übereinstimmen
Gelegentlich können Sie eine Abweichung sehen wie:
update-alternatives→ Java 17java -version→ Java 11
Mögliche Ursachen umfassen:
- Eine andere Java erscheint im Benutzer-PATH
- Eine manuell installierte Java existiert in
/usr/local/bin, etc. - PATH unterscheidet sich zwischen normaler Ausführung und
sudo
Unter Linux können sowohl:
- Systemebenen-Einstellungen
- Benutzerebenen-Umgebung
beeinflussen, welche Java ausgeführt wird.
7.5 Sichere Checkliste für Linux
Unter Linux hält die Überprüfung in dieser Reihenfolge die Dinge klar:
java -versionjavac -versionwhich javaupdate-alternatives --display java(falls zutreffend)
Dies gibt Ihnen ein vollständiges Bild von:
- Der derzeit laufenden Java
- Der tatsächlichen ausführbaren Datei
- Der Systemkonfiguration
auf einen Blick.
8. Warum die angezeigte Java-Version abweicht (Ursachen und Lösungen)
Die meisten Java-Version-Probleme werden nicht durch die Befehle selbst verursacht, sondern durch die Umgebungskonfiguration.
Hier fassen wir Ursachen zusammen, die für alle Betriebssysteme gelten.
8.1 Ursache 1: Die PATH-Priorität ist nicht das, was Sie erwarten
Dies ist die häufigste Ursache.
- Ein altes Java-
bin-Verzeichnis erscheint früher in PATH - Sie haben eine neue Java installiert, aber PATH nicht aktualisiert
So beheben Sie es
- Ermitteln Sie, welche Java tatsächlich läuft
- Entfernen Sie unnötige PATH-Einträge oder korrigieren Sie deren Reihenfolge
Einfach einen neuen Pfad „hinzuzufügen“ reicht oft nicht aus.
8.2 Ursache 2: JAVA_HOME stimmt nicht mit der laufenden Java überein
- JAVA_HOME → Java 11
- Laufende Java → Java 17
Diese Situation ist ebenfalls sehr häufig.
So beheben Sie es
- Setzen Sie JAVA_HOME auf das JDK-Root-Verzeichnis
- Stellen Sie sicher, dass PATH
$JAVA_HOME/binverwendet
Denken Sie an JAVA_HOME als „Referenz“ und PATH als „Ausführungspriorität“.
8.3 Ursache 3: java und javac verwenden unterschiedliche Versionen
Dies ist ein klassischer Fall von gemischten JRE- und JDK-Versionen.
- Laufzeit funktioniert
- Entwicklung oder Builds scheitern
So beheben Sie es
- Wählen Sie eine JDK als Standard
- Richten Sie
javaundjavacunter derselben JDK aus
8.4 Ursache 4: IDE oder Build-Tools verwenden eine andere JDK
- Alles sieht im Terminal in Ordnung aus
- Fehler treten in der IDE oder CI auf
In diesen Fällen ist die Ursache oft IDE-spezifische JDK-Einstellungen.
So beheben Sie es
- Überprüfen Sie ausdrücklich das im IDE‑Einstellungen verwendete JDK
- Verlassen Sie sich nicht ausschließlich auf die „Auto‑Erkennung“
9. Eine Checkliste, die über das bloße „Überprüfen“ hinausgeht
Abschließend organisieren wir was Sie tun sollten, nachdem Sie Ihre Java‑Version überprüft haben.
9.1 Wenn Ihr Ziel nur das Ausführen von Java ist
- Erfüllt
java -versiondie Anforderungen? - Startet die Anwendung korrekt?
9.2 Wenn Ihr Ziel Entwicklung oder Builds ist
- Erfüllt
javac -versiondie Anforderungen? - Zeigen
javaundjavacdieselbe Version an? - Sind JAVA_HOME und PATH aufeinander abgestimmt?
9.3 Wenn Sie mehrere Java‑Versionen verwenden
- Bestätigen Sie stets, welches Java gerade verwendet wird
- Verstehen Sie die betriebssystemspezifische Verwaltung (macOS / Linux)
10. FAQ (Häufig gestellte Fragen)
10.1 Was ist der Unterschied zwischen java -version und javac -version?
java -version prüft die Java‑Laufzeitversion,
während javac -version die Version des Entwicklungs‑Compilers (JDK) prüft.
Da sie unterschiedliche Zwecke erfüllen, ist das Prüfen beider die gängige Praxis.
10.2 Warum wird javac nicht gefunden?
- Das JDK ist nicht installiert
- PATH ist nicht korrekt gesetzt
In den meisten Fällen ist es einer dieser beiden Gründe.
10.3 Ich habe Java installiert, aber es wird immer noch eine alte Version angezeigt
Das bedeutet normalerweise, dass ein anderes Java in PATH eine höhere Priorität hat.
Überprüfen Sie die tatsächliche Binärdatei mit where java (Windows) oder which java (macOS/Linux).
10.4 Kann ich mehrere Java‑Versionen sicher verwenden?
Ja, das ist möglich.
Allerdings ist es entscheidend, stets zu wissen, welches Java gerade verwendet wird.
10.5 Welche Java‑Version sollte ich verwenden?
Falls keine besonderen Anforderungen bestehen, ist die Wahl einer LTS (Long‑Term‑Support)‑Version die sicherste Option.
Wenn Ihr Projekt eine Version vorgibt, hat diese Anforderung stets Vorrang.

