Javac wird nicht als interner oder externer Befehl, ausführbares Programm oder Batch-Datei erkannt

Muhammad Zeeshan 12 Oktober 2023
  1. Javac auf Java
  2. javac wird nicht als interner oder externer Befehl, lauffähiges Programm oder Batch-Datei erkannt
  3. Ursachen für 'javac' wird nicht als interner oder externer Befehl, lauffähiges Programm oder Batch-Datei erkannt
  4. Lösung für 'javac' wird nicht als interner oder externer Befehl, lauffähiges Programm oder Batch-Datei erkannt
Javac wird nicht als interner oder externer Befehl, ausführbares Programm oder Batch-Datei erkannt

Dieser Artikel zeigt die möglichen Ursachen für Javas 'javac' wird nicht als interner oder externer Befehl, lauffähiges Programm oder Batch-Datei erkannt und die möglichen Lösungen für diesen Fehler. Schauen wir uns zunächst einmal an, was javac ist.

Javac auf Java

Javac ist der primäre Java-Compiler, der im JDK (Java Development Kit) enthalten ist, das von der Oracle Corporation entwickelt wurde. Der Name javac wird als java-see ausgesprochen.

Der Quellcode muss den JLs (Java Language Standards) entsprechen, damit er vom Compiler akzeptiert wird. Der Compiler wandelt dann den Quellcode in Java-Bytecode um, der mit den JVMs (Java Virtual Machine Specification) kompatibel ist.

Umgebungsvariablen

Ein Schlüssel-Wert-Paar wie windir=C:WINDOWS ist eine Umgebungsvariable. Die meisten von ihnen wurden zusammen mit dem Betriebssystem verpackt, und einige sind für den bestimmungsgemäßen Betrieb des Geräts erforderlich.

Wenn ein beliebiges Programm gestartet wird, das cmd enthält, wird ihm eine Liste davon als Argument übergeben. Windows bietet Benutzern zwei Optionen für Umgebungsvariablen.

  1. Benutzerumgebungsvariablen
  2. Systemumgebungsvariablen

javac wird nicht als interner oder externer Befehl, lauffähiges Programm oder Batch-Datei erkannt

Dieser Standardfehler tritt in der Windows-Befehlszeile auf, wenn Sie einen Befehl eingeben, der nicht im System PATH vorhanden ist. In diesem Fall tritt der Fehler auf, weil der Befehl javac, der zum Kompilieren von Java-Quelldateien und zum Erstellen von Klassendateien verwendet wird, nicht im PATH vorhanden ist.

Der beste Ansatz, dies zu überprüfen, ist die Verwendung des folgenden Befehls.

echo % PATH %

Sie haben Zugriff auf das enthaltene bin-Verzeichnis, wenn Sie Ihren JDK-Installationsordner oder JAVA HOME in der PATH-Umgebungsvariable finden. Dieses Verzeichnis enthält alle java-Binärdateien, wie javac- und java-Befehle, die zum Kompilieren und Ausführen von Java-Programmen erforderlich sind.

Wenn dies der Fall ist, müssen Sie den Ordner bin des Ordners JDK zu Ihrem PATH hinzufügen. Es kann sein, dass Ihr PATH das Verzeichnis JDK oder bin nicht enthält.

Ursachen für 'javac' wird nicht als interner oder externer Befehl, lauffähiges Programm oder Batch-Datei erkannt

Dieser Fehler tritt auf, wenn die Eingabeaufforderung die Java-Variable PATH in ihrer aktuellen Arbeitsumgebung nicht finden kann. Im Folgenden sind einige der möglichen Gründe dafür aufgeführt.

  1. JDK (Java Development Kit) ist nicht auf dem System. Dies geschieht in der Regel aufgrund der falschen Annahme des Benutzers, dass der Java-Compiler (javac) zusammen mit der JRE (Java Runtime Environment) installiert wird.

  2. Anscheinend wurde der Pfad zu javac nicht angegeben oder falsch eingestellt. Das System muss den Speicherort von javac kennen, um Code mithilfe der Eingabeaufforderung zu kompilieren und sicherzustellen, dass andere Dienstprogramme des Anwendungsservers wie erwartet funktionieren.

    In diesem Szenario müssen Sie den Speicherort manuell festlegen.

  1. Das Setzen von PATH mit einem falschen Verzeichnis ist eine weitere mögliche Fehlerursache. Dem Pfad könnte beispielsweise ein Schrägstrich fehlen oder etwas ganz anderes enthalten.

Lösung für 'javac' wird nicht als interner oder externer Befehl, lauffähiges Programm oder Batch-Datei erkannt

Lassen Sie uns dieses Problem lösen, damit das Java-Programm über die Befehlszeile kompiliert und gestartet werden kann.

  1. Um die Eingabeaufforderung unter Windows aufzurufen, klicken Sie auf die Schaltfläche Start, wählen Sie das Fenster Ausführen, geben Sie sysdm.cpl ein und klicken Sie auf OK, um die Systemeigenschaften zu öffnen.
  2. Navigieren Sie zur Registerkarte Erweitert des Fensters Systemeigenschaften und klicken Sie dann auf Umgebungsvariablen.
  3. Klicken Sie im neu aufgetauchten Fenster Umgebungsvariablen unter der Überschrift System variable auf die Schaltfläche Neu.
  4. Geben Sie im Fenster Neue Systemvariable als Namen die Variable JAVA_HOME ein und geben Sie als Wert den Pfad zu dem Verzeichnis an, das Ihre JDK-Software enthält. Durch einfaches Klicken auf die Schaltfläche OK werden die Änderungen gespeichert.
  5. Sobald wir zurück zum Fenster Umgebungsvariablen navigiert sind, suchen Sie nach einer Variablen namens Pfad, die sich unter der Überschrift Systemvariablen befindet. Klicken Sie auf die Schaltfläche Bearbeiten, während Sie die Variable Pfad auswählen.
  6. Um eine neue Umgebungsvariable zu erstellen, verwenden Sie die Schaltfläche Neu im Fenster Bearbeiten der Variablen.
  7. Nachdem Sie die neue Umgebungsvariable erstellt haben, geben Sie ihr den Namen %JAVA_HOME%\bin und drücken Sie die Enter-Taste. Klicken Sie danach auf OK.
  8. Nach diesem Schritt wird die Java-Umgebung konfiguriert. Anwendungen können über die Eingabeaufforderung kompiliert werden.

Stellen Sie sicher, dass der Pfad der Java-Umgebungsvariablen konfiguriert und einsatzbereit ist. Um festzustellen, ob Ihre Konfiguration korrekt funktioniert, können Sie die folgenden Schritte ausführen.

  1. Um die Eingabeaufforderung unter Windows zu öffnen, klicken Sie auf die Schaltfläche Start, wählen Sie das Fenster Ausführen, geben Sie cmd ein und klicken Sie auf OK.
  2. Geben Sie im Fenster echo %JAVA_HOME% ein und drücken Sie dann Enter, um herauszufinden, welches Ergebnis Sie erhalten. Wenn ein Ausdruck mit dem Verzeichnis zum JDK vorhanden ist, können Sie sicher sein, dass JAVAC korrekt läuft.
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

Verwandter Artikel - Java Error