'Java' wird nicht als interner oder externer Befehl erkannt


157

Beim Versuch, die aktuelle Java-Version zu überprüfen, in der ich ausgeführt werde, wurde die Fehlermeldung "Java wird nicht als interner oder externer Befehl, funktionsfähiges Programm oder Batch-Datei erkannt." Angezeigt.

Ich verwende Windows 7 und habe das neueste JDK heruntergeladen. Ich hatte das Gefühl, dass ich Java versehentlich vom Computer gelöscht habe, bevor ich die Java-Version mit dem Befehl "java -version" überprüfen konnte.

Welche Software muss ich herunterladen, damit Java wieder auf meinem Computer funktioniert?

BEARBEITEN:

Ich habe es geschafft, Java wieder von meinem cmd zum Laufen zu bringen, nachdem sichergestellt wurde, dass alle Umgebungsvariablen auf das aktuelle Java SDK verweisen. Vielen Dank für alle Antworten auf meine Frage.

Karen

Antworten:


199

Sie müssen Ihre Umgebungsvariablen konfigurieren JAVA_HOMEund PATH.

JAVA_HOMEenthalten den Pfad zu Java muss, und Sie sollten hinzufügen % JAVA_HOME% \ bin zuPATH

Alternativ können Sie einfach Ihren hinzufügen PATHdes gesamten Pfad zu dem Ordner ist, ohne die JAVA_HOMEVariable jedoch macht dies ein wenig mehr ärgerlich , wenn Sie mehr als ein Java - Version auf Ihrem Rechner haben müssen (diese Weise können Sie nur ändern müssen JAVA_HOMEund kümmere dich nicht mal darum PATH)


In meinem Fall hatte ich JDK 7 installiert und es funktionierte einwandfrei, bis ich auf die neuere JDK 8-Version aktualisiert habe. Die Lösung bestand darin, die alte Version von JDK
Moein Rahimi

1
Es funktioniert für mich, nachdem ich JAVA_HOME gelöscht und den gesamten Pfad zum Java-Bin-Ordner in die erste der Pfadvariablen gesetzt habe
Mohammad Heydari

Ich habe bereits eine PATHVariable. Kann ich den Inhalt ändern, ohne etwas anderes zu ruinieren?
Liggliluff

Denken Sie daran, BEIDE Variablen "JAVA_HOME" und dann "PATH" hinzuzufügen, beide in Großbuchstaben
Marco Ottina

Aus irgendeinem Grund funktioniert dies in Windows 10 nicht. Setzen Sie den vollständigen Pfad in eine PATHVariable, anstatt sie zu verwenden %JAVA_HOME%. Überprüfen Sie diese Antwort: stackoverflow.com/a/62590863/3337089
Nagabhushan SN

139

Für Windows 7:

  1. Rechtsklick auf My Computer
  2. Wählen Properties
  3. Wählen Advanced System Settings
  4. Wählen Sie AdvancedRegisterkarte
  5. Wählen Environment Variables
  6. Wählen Sie PathunterSystem Variables
  7. Klicken Sie auf die EditSchaltfläche
  8. Fügen Sie dies im Variablenwert-Editor am Zeilenanfang ein

    C:\Program Files\Java\jdk1.7.0_72\bin;
  9. Klicken Sie auf OK und dann erneut auf OK

  10. Starten Sie die Eingabeaufforderung neu, da sonst die Änderung der Pfadvariablen nicht angezeigt wird
  11. Geben Sie die java -versionEingabeaufforderung ein.


Hinweise zu Schritt 8:
1. Die Java-Version kann sich von der hier verwendeten unterscheiden - dies ist nur ein Beispiel.
2. Die Pfadvariable enthält wahrscheinlich andere Werte. Es ist wirklich wichtig, dass Sie nicht löschen, was bereits vorhanden ist. Aus diesem Grund wird in den Anweisungen angegeben, dass der angegebene Wert am Zeilenanfang eingefügt werden soll. Dies bedeutet, dass Sie den vorhandenen Wert nicht entfernen, sondern nur Java davor setzen. Dies behebt auch alle Probleme, die auftreten würden, wenn sich auch eine andere Java-Version auf dem Weg befindet.

Hinweise zu Schritt 6:
1. Hiermit wird der Pfad für den Computer festgelegt, nicht für den einzelnen Benutzer. Möglicherweise arbeiten Sie an einem Computer, den auch andere Entwickler verwenden. In diesem Fall möchten Sie lieber die Benutzervariablen als die Systemvariablen festlegen


6
Diese "Neustart-Eingabeaufforderung, sonst wird die Änderung der Pfadvariablen nicht angezeigt"
Andrew Paes

1
benutze nicht ';' für jdk 10
brainLoop

53

Es hört sich so an, als hätten Sie Ihrem Pfad nicht das richtige Verzeichnis hinzugefügt.

Finden Sie zuerst heraus, in welchem ​​Verzeichnis Sie Java installiert haben. Auf meiner Box befindet es sich beispielsweise in C:\Program Files\java\jdk1.7.0_111 . Wenn Sie es gefunden haben, versuchen Sie es direkt auszuführen. Beispielsweise:

c:\> "c:\Program Files\java\jdk1.7.0_11\bin\java" -version

Wenn Sie definitiv die richtige Version haben, fügen Sie das binVerzeichnis Ihrer PATHUmgebungsvariablen hinzu.

Beachten Sie, dass Sie keine JAVA_HOMEUmgebungsvariable benötigen und dies seit einiger Zeit nicht mehr tun . Einige Tools verwenden es möglicherweise - und wenn Sie eines davon verwenden, stellen Sie es sicher ein -, aber wenn Sie nur (sagen wir) Eclipse und die Befehlszeile java/ javacTools verwenden, sind Sie ohne es in Ordnung.


1 Ja, das hat mich daran erinnert, dass ich aktualisieren muss ...


@SotiriosDelimanolis: Ich kann mich nicht erinnern, wann ich es das letzte Mal persönlich gebraucht habe. Einige Tools können - aber ich würde erst dann anfangen, die Umgebung zu ändern, wenn ich es tatsächlich brauchte, und nicht nur selbstverständlich. (Ich werde meine Antwort bearbeiten, um das anzuzeigen.)
Jon Skeet

1
Vielen Dank für Ihre Antwort. Nachdem ich jedoch sowohl den Pfad zu Java in den Umgebungsvariablen "Path" als auch "JAVA_HOME" hinzugefügt habe, erhalte ich immer noch den gleichen Fehler.
Karen

2
@ Karen: Nun, hast du meinen ersten Schritt versucht, es explizit auszuführen? Und haben Sie Ihre Eingabeaufforderung nach dem Ändern Ihrer Umgebungsvariablen neu gestartet?
Jon Skeet

Als ich kursiv c: \> "c: \ Programme \ java \ jdk1.7.0_11 \ bin \ java" -Version kursiv ausführte , stand dort "Java-Version '1.7.0_11' Java <TM> SE Runtime Environment <Build 1.7. 0_11-b21> Java HotSpot <TM> Client-VM <Build 23.6-b04, gemischter Modus, Freigabe>
Karen

Ja, ich habe das cmd nach dem Ändern der Umgebungsvariablen neu gestartet, aber es scheint leider keine Änderung gegeben zu haben.
Karen

48

Angenommen, Java / JDK ist im folgenden Ordner installiert: C: \ Programme \ Java :

Java / JDK-Installationspfad

Folge den Schritten:

  1. Gehe zu Systemsteuerung → System → Erweiterte Systemeinstellungen → Erweitert → Umgebungsvariablen ( Win+ Pause/Breakfür System in der Systemsteuerung )
  2. In der Systemvariablen Abschnitt klicken Sie auf New ...
  3. In Variablenname schreiben:JAVA_HOME
  4. In Variablenwert schreiben: C:\Program Files\Java\bin, drücken Sie OK : Fügen Sie JAVA_HOME hinzu
  5. Im Variablen Systemabschnitt Doppelklick aufPath
  6. Presse Neue und Schreib C:\Program Files\Java\bin, drücken Sie OK : Java-Pfad hinzufügen
  7. In Umgebungsvariablen Fenster drücken OK
  8. Restart / Ausführen cmd.exeund schreiben: java --version: Java-Version CMD

Ich liebe den Tipp (Windows + Pause Break).
CodeFinity

Ich habe es gerade mit Fenster 10 versucht. Der Befehl java --versionfunktioniert nicht, aber java -versionfunktioniert.
Steve

14

Suchumgebungsvariablen. Geben Sie hier die Bildbeschreibung ein

Öffnen Sie die Option "Systemumgebungsvariablen bearbeiten". Klicken Sie dann auf "Umgebungsvariablen". Geben Sie hier die Bildbeschreibung ein

Klicken Sie unter "Benutzervariablen" auf "Pfad" und dann auf "Bearbeiten". Geben Sie hier die Bildbeschreibung ein

Suchen Sie Ihren Java-Pfad und klicken Sie auf "Bearbeiten". Geben Sie hier die Bildbeschreibung ein

Fügen Sie dann den Pfad Ihres Java-Installationsordners ein. Meistens finden Sie es auf einem ähnlichen Weg. C: \ Programme \ Java \ jdk-12.0.2 \ bin

Klicken Sie dann auf OK. Geben Sie nun im Startmenü cmd ein. Öffnen Sie die Eingabeaufforderung. Typ Java-Version Wenn Sie es richtig gemacht haben, sollte es so etwas zeigen. Geben Sie hier die Bildbeschreibung ein


9

Für mich funktioniert es nach dem Setzen von: am Anfang des Systemvariablenpfads: -


Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein



6

Meine Lösung bestand darin, den gleichen Wert (Pfad zum JDK-Bin-Ordner) in JAVA_HOMEund zu setzenPath

JAVA_HOME Pfad


1
Willkommen bei SO. Bitte fügen Sie weitere Informationen hinzu - z. B. was Sie tatsächlich eingegeben haben JAVA_HOMEund PATHbeziehen Sie sich nicht auf andere Antworten.
Michael Lihs

5

Dieses Problem tritt unter Windows 8 auf. Kopieren Sie zuerst Ihren Pfad von Java JDK - z. B. C: \ Programme \ Java \ jdk1.7.0_51 \ bin.

  1. Klicken Sie direkt auf dem Arbeitsplatzsymbol auf dem Desktop auf Eigenschaften.

  2. Wählen Sie im linken Bereich "Erweiterte Systemeinstellungen".

  3. Wählen Sie auf der Registerkarte "Erweitert" unten "Umgebungsvariablen" aus.

  4. Wählen Sie unter Systemvariablen die Variable 'Pfad' aus und bearbeiten Sie sie.

Fügen Sie den Pfad ein und fügen Sie ein ';' am Ende - zB C: \ Programme \ Java \ jdk1.7.0_51 \ bin;


2
Stellen Sie sicher, dass (;) am Ende des vorhandenen Pfads steht, bevor Sie anhängen.
Sanjeet A

3

In meinem Fall wurde PATH richtig eingestellt, aber PATHEXT wurde von mir versehentlich mit der Erweiterung .exe gelöscht. Aus diesem Grund kann Windows an der Eingabeaufforderung keine Java- oder EXE-Anwendung finden. Hoffe es kann jemandem helfen.


1

Ich hatte das gleiche Problem. Installieren Sie einfach das genaue Java-Bit von Ihrem Computer. Wenn Ihr PC 64-Bit ist, installieren Sie 64-Bit-Java. Wenn es 32 Bit ist, dann umgekehrt :)


1

Ich weiß nicht warum, aber in meinem Fall war der Grund, dass ich Anaconda-Terminal anstelle des CMD betrieb.

Nachdem ich CMD verwendet und die Pfadeinstellungen aktualisiert habe, wie in allen Kommentaren oben erwähnt, wurde das Problem auf meiner Seite behoben.


0

Wenn Sie Cygwin in der Windows-Box installiert haben oder die UNIX-Shell verwenden, dann

Issue bash#which java

Hier erfahren Sie, ob sich Java in Ihrem Klassenpfad befindet oder nicht.


0

Ich habe meine Pfadvariable korrigiert, aber die Eingabeaufforderung muss neu gestartet werden, da sonst die Änderung an der Pfadvariablen nicht überprüft werden kann. Kann für jemanden wie mich hilfreich sein. also " Eingabeaufforderung neu starten "


0

Wenn Sie die Umgebungsvariablen ( JAVA_HOMEund PATH) unter Benutzervariablen festgelegt haben, identifiziert die Eingabeaufforderung (als Administrator ausgeführt) Java nicht. Dazu müssen Sie Umgebungsvariablen unter Systemvariablen festlegen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.