“系统找不到文件 C:\ProgramData\Oracle\Java\javapath\java.exe”

2022-08-31 22:24:26

我在 Windows 8 上的 JDK 8u25 上,并且我的 Java 安装遇到了问题。我可以运行得很好,但运行会产生以下错误消息:javacjava

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

从cmd的角度来看,它们的扩展是:set

  • 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


答案 1

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

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

  C:\ProgramData\Oracle\Java\javapath

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

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

编辑:-----在玩javapath文件夹快捷方式后,事实证明你需要符号链接,至少对于Eclipse来说。请参阅 Windows 如何创建目录符号链接

您不需要 /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"

现在这对我有用。


答案 2

为什么Oracle做了这么糟糕的方法来指向java,这超出了我的范围。我们通过创建指向 JDK 的新链接来解决此问题。

mklink /d C:\ProgramData\Oracle\Java\javapath "C:\Program Files\Java\jdk1.8.0_40\bin\"

如果 JRE 只需要这样做,那么这同样有效。

这将替换 中的旧符号链接(如果它们以前存在)C:\ProgramData\Oracle\Java\javapath


推荐