在Windows命令提示符中找不到Java.exe
在Windows命令提示符中找不到Java.exe
在Windows Server 2008上安装了Java 1.7。在Cygwin中,我可以清楚地看到\"which java.exe\"
返回的是c:\\Windows\\System32\\,即使运行\"java -version\"也返回1.7。但是在Windows命令提示符和/或Powershell中,它会报告这不是一个被识别的内部或外部命令。\n我在上述路径中的Windows资源管理器中也找不到该文件,即使在更改了Windows资源管理器的文件夹选项后仍是如此。\n安装的Java版本是64位的,在Windows Server 2008上表现相同。在Windows 7上也是如此。\n有人知道如何解决这个问题吗?\n提前感谢您的帮助。\n-RG
在Windows命令提示符中找不到Java.exe的问题可能是因为环境变量没有正确设置导致的。可以尝试设置环境变量指向Java安装路径来解决这个问题。具体解决方法可以参考http://java.com/en/download/help/path.xml。
我之前使用了Java安装程序,它会设置JAVA_HOME变量,而且Java安装在C:\Windows\System32目录下,默认会在%PATH%环境变量中添加。但是我仍然不知道为什么无法在Windows命令提示符中运行Java。我放弃了这个方法,改为在Cygwin窗口中启动Java(或.jar程序)。我只在Windows Server 2008上遇到了这种情况,而在Windows 7上,同样的Java安装行为正常。如果有其他解决方法,我仍然愿意听取建议。
请将您的%PATH%变量的确切内容发出来。
Java.exe not found on Windows command prompt的问题是因为在Windows命令提示符中找不到Java.exe可执行文件。出现这个问题的原因可能是由于环境变量不正确导致系统无法找到Java.exe。
解决这个问题的方法是尝试使用cygwin64工具,或者将%JAVA_HOME%\bin添加到PATH环境变量的开头。
以上解决方法来自于https://superuser.com/questions/563016/why-is-java-exe-not-visible-from-cygwin-but-is-visible-from-command-prompt这个网址。
以下是代码示例:
export PATH=%JAVA_HOME%\bin;%PATH%
希望以上信息能够帮助解决Java.exe not found on Windows command prompt的问题。
问题的原因是操作系统是64位的,但安装的Java版本是32位的。32位的shell(如Cygwin的bash或者MSYS的sh)可以看到并执行Java,但64位的shell(cmd)不能。即使Java版本是64位的,但如果没有将32位Java的文件夹添加到CMD的路径中,CMD也无法找到Java。这是因为纯粹的32位Java安装会在c:\Windows\SYSWoW64创建一个java.exe,32位应用程序透明地访问它,作为c:\Windows\System32...的一个“功能”(称为文件系统重定向器)。64位应用程序访问“真正的”c:\Windows\System32,那里没有java.exe。
解决方法是使用Windows资源管理器确定c:\Windows\SYSWoW64中是否存在java.exe。另外,还可以使用Cygwin的“file”命令或者运行java --version命令来确定Java的版本。Oracle的64位java.exe会明确标明是64位的,而32位的则不会。
当操作系统是64位,但安装的Java是32位时,在Windows命令提示符中运行Java会出现"Java.exe not found"的错误。解决方法是将32位Java的文件夹添加到CMD的路径中,并使用Windows资源管理器或者命令行命令确定Java的版本。