java - "The system cannot find the file C:\ProgramData\Oracle\Java\javapath\java.exe"

标签 java environment-variables

我在 Windows 8 上使用 JDK 8u25,我在安装 Java 时遇到问题。我可以运行 javac非常好,但正在运行 java产生此错误消息:

The system cannot find the file C:\ProgramData\Oracle\Java\javapath\java.exe

我该如何解决这个问题?


我认为问题与我的环境变量有关。

我设置的重要变量是:

  • JAVA_HOMEC:\Program Files\Java\jdk1.8.0_25
  • CLASSPATH.;%JAVA_HOME%\lib
  • PATH<other paths omitted>;%JAVA_HOME%\bin

以及它们的扩展,如 set 所示在cmd中,分别是:

  • JAVA_HOMEC:\Program Files\Java\jdk1.8.0_25
  • CLASSPATH.;C:\Program Files\Java\jdk1.8.0_25\lib;%CLASSPATH%;
  • PATHC:\ProgramData\Oracle\Java\javapath;C:\Program Files\Java\jdk1.6.0_45\bin;<other paths omitted>;C:\Program Files\Java\jdk1.8.0_25\bin

set 的完整输出可以查看here .

最佳答案

我目前正在努力解决一个类似的问题。我不能说这会解决您的错误,因为其他软件可能存在问题(Eclipse Luna 就是这种情况)。

Java 正在使用 PATH 变量中给出的路径,即,

  C:\ProgramData\Oracle\Java\javapath

转到此文件夹(ProgramData 已隐藏,因此如有必要请取消隐藏)并右键单击 java.exe 符号链接(symbolic link)。您将在 Target 字段中看到它正在寻找 java.exe。它可能指向您之前安装的 jdk1.6.0_45 中的 java.exe 文件。要么在此处粘贴新的快捷方式,要么像其他人提到的那样更改 PATH 设置。

我发现 Java 安装程序不会更改 javapath 或更新系统路径,至少在从 1.8 升级到 1.7 时是这样。在我的情况下,更改快捷方式只会导致 Eclipse 在启动时出现问题。

编辑:-- 在使用 javapath 文件夹快捷方式后,事实证明您需要符号链接(symbolic link),至少对于 Eclipse 来说是这样。见,Windows how to create directory symlink .

文件符号链接(symbolic link)不需要/d 开关,

  mklink java.exe "C:\Program Files\Java\jdk1.8.0_20\bin\java.exe"
  mklink javaw.exe "C:\Program Files\Java\jdk1.8.0_20\bin\javaw.exe"
  mklink javaws.exe "C:\Program Files\Java\jdk1.8.0_20\bin\javaws.exe"

这对我有用。

关于java - "The system cannot find the file C:\ProgramData\Oracle\Java\javapath\java.exe",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26864662/

相关文章:

c - 如何在我的 minishell 中处理 null 环境变量?

java - 如何使用 Selenium Webdriver 和 Java 提取元素的显示属性

java - Android中的main()在哪里?

docker - Dockerfile和环境变量

docker - Docker Entrypoint脚本无法获取$ DB_PORT_3306_TCP_ADDR环境变量

windows - 以编程方式修改环境变量?

node.js - Cloudbuild 中的 secret 环境变量(没有文件),怎么样?

java - 具有一对多关系的 Hibernate Criteria 搜索请求

java - 有没有|| int 的运算符?

java - 在 Eclipse 中预览长连接字符串