Ich versuche, javac
mit der Windows-Eingabeaufforderung zu verwenden, aber es funktioniert nicht.
Nach dem Hinzufügen des Verzeichnisses "C:\Program Files\Java\jdk1.6.0_16\bin\"
am Ende der PATH
Umgebungsvariablen java
funktioniert der Befehl einwandfrei, aber bei Verwendung javac
wird der folgende Fehler angezeigt:
'javac' wird nicht als interner oder externer Befehl, bedienbares Programm oder Batchdatei erkannt.
java
windows
command-prompt
javac
Domenic
quelle
quelle
Antworten:
Wenn Sie es in der Systemsteuerung hinzugefügt haben, während Ihre Eingabeaufforderung geöffnet war, hat dies keine Auswirkungen auf Ihre aktuelle Eingabeaufforderung. Sie müssen beenden und erneut öffnen oder einfach Folgendes tun:
Führen Sie zur Überprüfung Folgendes aus:
von Ihrer Eingabeaufforderung und lassen Sie uns wissen, was es ist.
Stellen Sie andernfalls sicher, dass sich in diesem Verzeichnis ein Javac befindet, indem Sie Folgendes versuchen:
von der Eingabeaufforderung. Sie können auch feststellen, welche ausführbare Datei (falls vorhanden) mit dem Befehl verwendet wird:
Dies ist ein netter Trick, der den Befehlen
which
und / oderwhence
Befehlen in einigen UNIX-Betriebssystemen ähnelt .quelle
Das Windows-Betriebssystem durchsucht das aktuelle Verzeichnis und die in der Umgebungsvariablen PATH aufgeführten Verzeichnisse nach ausführbaren Programmen. Die JDK-Programme (wie der Java-Compiler javac.exe und die Java-Laufzeit java.exe) befinden sich im Verzeichnis "\ bin" (wobei das installierte JDK-Verzeichnis bezeichnet wird, z. B. C: \ Programme \ Java \ jdk1.8.0_xx). Sie müssen das Verzeichnis "\ bin" in den PATH aufnehmen.
So bearbeiten Sie die Umgebungsvariable PATH in Windows XP / Vista / 7/8:
Systemsteuerung ⇒ System ⇒ Erweiterte Systemeinstellungen
Wechseln Sie zur Registerkarte "Erweitert" ⇒ Umgebungsvariablen
Scrollen Sie unter "Systemvariablen" nach unten und wählen Sie "PFAD" ⇒ Bearbeiten
((Lesen Sie jetzt die folgenden 3 Male, bevor Sie fortfahren , es gibt kein Rückgängigmachen ))
Geben Sie im Feld "Variablenwert" "c: \ Programme \ Java \ jdk1.8.0_xx \ bin" (Ersetzen Sie xx durch die Upgrade-Nummer ein und überprüfen Sie, ob dies das Binärverzeichnis Ihres JDK ist !!!) VOR allen vorhandenen Verzeichnisse, gefolgt von einem Semikolon (;), das das Binärverzeichnis des JDK vom Rest der vorhandenen Verzeichnisse trennt. LÖSCHEN SIE KEINE vorhandenen Einträge. Andernfalls werden einige vorhandene Anwendungen möglicherweise nicht ausgeführt.
quelle
Nach langem Google wurde mir klar, dass sich javac.exe in JDK (C: \ Programme \ Java \ jdk (Versionsnummer) \ bin) und nicht in JRE (C: \ Programme (x86) \ Java \ jre7 befindet \ bin) "JRE wird ohne Compiler geliefert. Es handelt sich lediglich um eine Java-Laufzeitumgebung. Sie benötigen das Java Development Kit." um den Compiler javac zu verwenden
javac funktioniert nicht, wenn Sie bin in jre zeigen
Um javac in cmd verwenden zu können, muss JDK auf Ihrem System installiert sein ...
Für Javac Pfad
Pfad = C: \ Programme (x86) \ Java \ jre7 \ bin das ist falsch
Pfad = C: \ Programme \ Java \ jdk (Versionsnummer) \ bin das ist richtig
Stellen Sie sicher, dass sich "javac.exe" in "C: \ Programme \ Java \ jdk (Versionsnummer) \ bin" befindet.
Verwechseln Sie sich nicht mit JRE und JDK. Beide sind völlig unterschiedlich
Wenn Sie kein JDK haben, laden Sie es bitte von diesem Link herunter
https://jdk.java.net/
oder
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Referenz-Thread für JDK VS JRE Was ist der Unterschied zwischen JDK und JRE?
quelle
Ich weiß, dass dies möglicherweise nicht Ihr spezifischer Fehler ist, aber ich hatte einmal einen führenden Platz auf meinem Weg und Java würde funktionieren, Java jedoch nicht.
Für das, was es wert ist, biete ich den weisen Rat an: "Untersuche deinen Weg genau".
quelle
Probieren Sie die Lösungen hier aus: http://techdem.centerkey.com/2009/05/javahome-command-script.html
Diese sind viel robuster zu ändern - wie beim Upgrade des JDK oder JRE, da es keinen fest codierten Pfad gibt.
Die schnelle Lösung (wenn Sie den Blog nicht lesen möchten) ist
Sie können diese Zeilen dann einem Start- / Anmeldeskript hinzufügen.
quelle
Ich musste dies nur tun, damit dies unter Windows 7 64 funktioniert.
Öffnen Sie eine Eingabeaufforderung (cmd.exe) und geben Sie Folgendes ein:
Stellen Sie sicher, dass Sie alle laufenden Eingabeaufforderungen von Windows erneut öffnen, um auch die Umgebungsvariable zu aktualisieren.
quelle
Okay, das kann nicht immer der Fall sein, aber viele von uns haben diesen Fehler in der Vergangenheit gemacht, und nur wenige von ihnen sind sich dessen immer noch nicht bewusst, dh jedes Mal, wenn Sie einen Pfad (einen beliebigen Pfad) einer Umgebungsvariablen anhängen, sind Sie es Es ist wahrscheinlich, dass Sie die Leertaste direkt nach dem "Semikolon" drücken (wie Sie es normalerweise tun würden, nach dem "Punkt", während Sie einen Editor eingeben).
Dadurch wird ein führender Bereich im Pfad erstellt, z. B. "C: \ Programme \ Java \ jdk1.6.0 \ bin", und daher wird "javac.exe" vom System nicht gefunden.
quelle
Ändern Sie den Ordner "jdk1.7.0_45" "jdk1_7_0_60" und aktualisieren Sie den Pfad in der Windows-Umgebung. Andernfalls ignoriert der Pfad den Punkt an der Vorderseite, der für versteckte Dateien steht, sodass der Ordner nicht in PATH-Zeichenfolgen angezeigt wird.
quelle
"; C: \ Programme \ Java \ jdk1.6.0 \ bin" Manchmal vergessen Sie möglicherweise, das Semikolon auf den letzten vorhandenen Pfad zu setzen.
quelle
Ich hatte genau das gleiche Problem, dass Java funktionieren würde, aber Javac nicht auf einer cmd-Eingabeaufforderung in Windows 8.
Das Problem trat auf, weil ich vergessen hatte,
'>'
am Ende des Pfadnamens zu entfernen , dh es war wie folgt:wo es so sein sollte:
quelle
Der Pfad wird nur für das Administratorkonto festgelegt. Daher ist es wichtig, die Eingabeaufforderung als Administrator zu starten, falls Sie dies noch nicht getan haben.
quelle
Stellen Sie sicher, dass zwischen den Pfaden in der Pfadvariablen keine Leerzeichen (Leerzeichen) zulässig sind. Mein Problem war, dass ich Leerzeichen hatte und ich glaube, Windows hat es als NULL behandelt und meinen Pfad für Java nicht eingelesen.
quelle
Ich hatte das gleiche Problem in diesem Titel. Java würde funktionieren, aber
javac
nicht in der Windows-Eingabeaufforderung (cmd.exe
).Für mich war es einfach so, dass ich beim Hinzufügen
C:\Program Files\Java\jdk1.8.0\bin
am Ende meiner%PATH%
Umgebungsvariablen ein Leerzeichen eingefügt hatte.Entfernen Sie den Abstand zwischen dem
;
und dem nächsten Dateipfad.quelle
Ich weiß, dass dies jetzt eine alte Frage ist, aber meine Lösung war hier keine Antwort. Veröffentlichen Sie sie daher, falls jemand anderes den Rest versucht.
In meinem Fall hatte eine frühere Installation der Java-JRE (in ProgramData / Oracle / Java) eine Pfadvariable oben in meiner Liste der Pfadvariablen. Der Inhalt dieses "Oracle" -Pfads hatte eine java.exe, aber keine javac.exe. Ich habe meinen vollständigen JDK-Pfad am Anfang der Liste der Pfadvariablen vor dem "Oracle" -Pfad hinzugefügt und dann sowohl javac.exe als auch java aufgenommen.
quelle
Diese Lösung hat bei mir funktioniert
quelle
Als ich versuchte, die .java zu .class zu machen, funktionierte der Befehl Javac nicht. Ich habe es zum Laufen gebracht, indem ich zu C: \ Programme (x86) \ Java \ jdk1.7.0_04 \ bin gegangen bin. Als ich mich in diesem Verzeichnis befand, habe ich Javac.exe C \ Test \ test.java eingegeben und damit die Klasse erstellt Taktik. Probieren Sie das aus.
quelle
Geben Sie es als "C: \ Programme \ Java \ jdk1.6.0_16 \ bin" an. Entfernen Sie den Backslash, es wird funktionieren
quelle