【问题标题】:Java.exe not found on Windows command prompt在 Windows 命令提示符下找不到 Java.exe
【发布时间】:2012-10-03 18:40:37
【问题描述】:

在 Windows Server 2008 上安装了 Java 1.7。在 Cygwin 中,我可以清楚地看到 "which java.exe" 返回 c:\Windows\System32\ 甚至运行“java -version”返回 1.7。但在 Windows 命令提示符和/或 Powershell 上,它抱怨它不是公认的内部或外部命令。

我也无法在上述路径中的 Windows 资源管理器中看到该文件。即使在 Windows 资源管理器中更改了文件夹选项。

在 Windows Server 2008 上安装的 Java 版本是 64 位。在 Window 7 上也是如此。

有谁知道如何解决这个问题?

提前感谢您的帮助。

-RG

【问题讨论】:

标签: java windows-7 windows-server-2008


【解决方案1】:

我相信这是因为您的操作系统是 64 位,但您安装的 Java 版本是 32 位。 32 位 shell(Cygwin 的 bash 或在我的情况下为 MSYS 的 sh)可以查看和运行它,但 64 位 shell (cmd) 不能。

【讨论】:

  • 他们不是说他们的java版本是64位的吗?
  • OP 声明它的 OS 是 64 位的。但是没有什么能阻止你(或者我……)安装 32 位 Java。如果您不使用 32 位 Java 文件夹扩展 CMD 路径,CMD 将找不到它。这是因为普通的 32 位 java 安装在 c:\Windows\SYSWoW64 中创建了一个 java.exe,32 位应用程序透明地访问为 c:\Windows\System32...(称为文件系统重定向器的“功能”[ 1])。 64 位应用程序访问“真正的”c:\Windows\System32,其中不存在这样的 java.exe。 [1]:msdn.microsoft.com/en-us/library/windows/desktop/…
  • 非常正确,但 OP 声明 The Java version installed is 64-bit on Windows Server 2008. It is a ditto behavior on Window 7 as well.
  • 我错过了这一点,抱歉。然而,所有症状都与 OP 在其 64 位操作系统上安装了 32 位 Java 一致。如果 OP 可以确定(使用 Windows 资源管理器)c:\Windows\SYSWoW64 中是否存在 java.exe,它可能有助于解决问题。
  • 是的。我确实在 c:\windows\syswow64 中看到了 java.exe。 java.exe 上是否有一个选项可以告诉我它是 32 位还是 64 位。从 user2195045 的上述解释看来,我安装了 32 位,部分原因是 java/com/en/download/chrome.jsp 没有给我选择二进制的选项。那么可能是我有 32 位 chrome 浏览器,它导致 java 网站将我重定向到 32 位下载...
【解决方案2】:

尝试使用cygwin64,或者将%JAVA_HOME%\bin放在PATH环境变量的开头。因为https://superuser.com/questions/563016/why-is-java-exe-not-visible-from-cygwin-but-is-visible-from-command-prompt

【讨论】:

    【解决方案3】:

    您可能必须将环境变量设置为指向您的 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 安装行为正常。仍然愿意听取任何人的解决方案。
    • @RgGlpj 发布您的 %PATH% 变量究竟是什么。
    【解决方案4】:

    我知道这个问题很老,但我需要答案,但在这里没有找到,所以我会提供给其他人:

    输入变量值作为 Java 开发工具包的安装路径。 如果您的 Java 安装目录的路径名中有空格,则应在环境变量中使用缩短的路径名(例如 C:\Progra~1\Java\jre6)。

    图标 64 位系统上的 Windows 用户注意事项

    Progra~1 = '程序文件' 程序~2 = '程序文件(x86)'

    答案来自 atlassian。

    【讨论】:

      猜你喜欢
      • 2019-01-26
      • 1970-01-01
      • 2011-06-29
      • 2019-04-20
      • 1970-01-01
      • 2010-12-13
      • 2013-07-13
      • 2010-11-20
      • 2012-07-07
      相关资源
      最近更新 更多