'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

Karen
quelle

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)

fcm
quelle
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

Veeresh Hatti
quelle
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 ...

Jon Skeet
quelle
@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
Vijay Bhatt
quelle
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

JA
quelle
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


Anurag_BEHS
quelle
6

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

JAVA_HOME Pfad

naru
quelle
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;

besartm
quelle
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.

Breton F.
quelle
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 :)

Pratik
quelle
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.

HassanSh__3571619
quelle
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.

Anish
quelle
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 "

Ganesh
quelle
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.

Prabhash Rathnayake
quelle