pezzzi01
Goto Top

Java is not recognized as an internal or external command

Java is not recognized as an internal or external command, operable program or batch file.

Hallo Leute,

vielleicht hat einer von euch noch eine Idee dazu.

Wenn ich über Start - CMD - Java eingebe, bekomme ich die Fehlermeldung:
"Java is not recognized as an internal or external command, operable program or batch file."

Hier ist der Pfad

PATH=C:\oracle\11gR1\64\bin;C:\oracle\11gR1\32\bin;C:\Windows\system32;C:\Window
s;C:\Windows\System32\Wbem;C:\PROGRA~2\Office97\Office;C:\Program Files (x86)\Mi
crosoft SQL Server\90\Tools\binn\;C:\Program Files (x86)\Microsoft SQL Server\90
\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\90\Tools\Binn\VSShell\Com
mon7\IDE\;C:\PROGRA~2\IBM\SQLLIB\BIN;C:\PROGRA~2\IBM\SQLLIB\FUNCTION;C:\PROGRA~2
\IBM\SQLLIB\SAMPLES\REPL;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program
Files (x86)\Common Files\Roxio Shared\DLLShared\;C:\Program Files (x86)\Common F
iles\Roxio Shared\9.0\DLLShared\;C:\Program Files (x86)\Microsoft SQL Server\80\
Tools\Binn\;C:\Program Files (x86)\Micro Focus\Net Express 5.0\Packages;C:\Progr
am Files (x86)\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files (x86)
\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files (x86)\Microsoft Vis
ual Studio\Common\Tools;C:\Program Files (x86)\Microsoft Visual Studio\VC98\bin


Wenn ich aber auf einen beliebiegen Ordner einen rechts Klick und "Open Command Prompt here" klicke
und dann wieder ins cmd "Java" eingebe funktioniert es und ich sehe die Java Optionen:

Hier ist wieder der Pfad der dafür gesetzt ist:

PATH=C:\Program Files (x86)\Microsoft Office\OFFICE11\;C:\oracle\11gR1\64\bin;C:
\oracle\11gR1\32\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\
PROGRA~2\Office97\Office;C:\Program Files (x86)\Microsoft SQL Server\90\Tools\bi
nn\;C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\;C:\Program Files (x
86)\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\;C:\PROGRA~2\IBM\SQLL
IB\BIN;C:\PROGRA~2\IBM\SQLLIB\FUNCTION;C:\PROGRA~2\IBM\SQLLIB\SAMPLES\REPL;C:\Wi
ndows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Common Files\Roxio
Shared\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\9.0\DLLShare
d\;C:\Program Files (x86)\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files (
x86)\Micro Focus\Net Express 5.0\Packages;C:\Program Files (x86)\Microsoft Visua
l Studio\Common\Tools\WinNT;C:\Program Files (x86)\Microsoft Visual Studio\Commo
n\MSDev98\Bin;C:\Program Files (x86)\Microsoft Visual Studio\Common\Tools;C:\Pro
gram Files (x86)\Microsoft Visual Studio\VC98\bin


Mit einer jeden anderen Applikationen (z.B. Notepad) funktionieren beide Varianten vom Command ohne Probleme.
Hat jemand vielleicht eine Idee? Auf jeden Fall schon mal danke im Voraus und einen schönen Abend,
lg Pezi

Content-Key: 96713

Url: https://administrator.de/contentid/96713

Printed on: April 24, 2024 at 10:04 o'clock

Member: Biber
Biber Sep 11, 2008 at 17:09:28 (UTC)
Goto Top
Na ja, pezzzi01,

Du suchst ein bisschen die Erklärung an der falschen Ecke.
Zwei Schritte zurücktreten und dann nochmal draufgucken.
Mit einer jeden anderen Applikationen (z.B. Notepad) funktionieren beide Varianten vom Command ohne Probleme.
Ja, schon.... aber nur fast.
Warum wird denn notepad "gefunden" bei "Start"->"Ausführen" gefunden?
Weil die Datei notepad.exe in %windir%\\system32\\ liegt und damit im %PATH%??
Denkte - logischer Trugschluss. Kopiere doch mal die notepad.exe als karlheinz.exe in dasselbe Verzeichnis und rufe über "Start"-"Ausführen" diese karlheinz.exe auf.
Auch diese wird nicht gefunden.
Weil: notepad.exe wird gefunden, weil notepad.exe als Applikation in der Registry eingetragen ist und nicht etwas, weil diese in irgendeiner %path%-Variablen steht.
Die %Path%-Variable wird nur bzw erst durch die CMD.exe ausgewertet (und auch die cmd.exe wird bei "Start"-"Ausführen" gefunden, weil sie in Registry eingetragen ist, und nicht etwas weil sie in irgendeinem...s.o ).
Außerdem gibt es ja in der Regel bei jedem von uns mehrere java.exe\'n (verschiedene Versionen), die ma die eine, mal die andere Java-VM starten können sollen.

Wenn Du also unter "Start"-"Ausführen" eingegeben hättest
cmd /c java -version & pause
...dann hätte sich auch Deine (Default)-Java-Version as should do gemeldet.
Ohne jemand (wie die CMD.exe), der den %path% interpretieren kann ginge es nur mit expliziter Pfadangabe, z.B.
c:\windows\system32\java

Grüße
Biber
Member: pezzzi01
pezzzi01 Sep 12, 2008 at 05:40:01 (UTC)
Goto Top
Hi Biber,

danke für deine rasche Lösung. Ist ja klar nur irgendwie war ich von der %path% angabe so geblendet das ich mich nur mehr auf den Pfad konzentriert hab.


Trotzdem hab ich noch eine Frage:

Wenn ich über das Command Prompt here - CMD - Java eingebe bekomme ich eine Liste mit den verschiedenen Befehlen.
Wenn ich über Start - Ausführen - CMD - Java eingebe erhalte ich nur die oben genannte Meldung.
Warum ist das so? Und was ist da der Unterschied?

lg
Member: Biber
Biber Sep 12, 2008 at 06:47:22 (UTC)
Goto Top
Moin pezzzi01,

der Unterschied:
  • CmdHere öffnet/startet ja eine CMD.exe-Instanz in einem bestimmten Verzeichnis.
  • "Start"-"Ausführen"-"java -version" startet KEINE cmd.exe-Instanz.

CMD.exe gestartet : Du hast %path% und kannst mit "echo hallo" hallo sagen.
CMD.exe nicht gestartet:: %path% wird nicht als Veriable interpretiert und bei "echo hallo" kommt ein Fehler (niemand im Haus, der den Befehl "echo" kennt).

Grüße
Biber