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

15 浏览
0 Comments

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

我正在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<其他路径省略>;%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;<其他路径省略>;C:\\Program Files\\Java\\jdk1.8.0_25\\bin

set的完整输出可以在此处查看:https://i.stack.imgur.com/Zjrrg.png

admin 更改状态以发布 2023年5月22日
0
0 Comments

为什么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中的旧符号链接。

0
0 Comments

我有一个类似的问题正在努力解决中。我不能保证这个解决方案能解决你的错误,因为其他软件可能存在问题(这也是我在Eclipse Luna中遇到的情况)。

Java正在使用你的PATH变量中给出的路径,就像这样:

  C:\ProgramData\Oracle\Java\javapath

进入这个文件夹(ProgramData是隐藏的,如果需要,就把它显示出来),右键单击java.exe的符号链接。你会看到Target字段中它正在寻找java.exe的位置。它可能指向你之前安装的jdk1.6.0_45中的java.exe文件。要么在这里粘贴新的快捷方式,要么像其他人提到的那样更改PATH设置。

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

编辑:-----

在玩了javapath文件夹的快捷方式之后,结果发现你需要符号链接,至少对于Eclipse来说是这样的。参见https://stackoverflow.com/questions/24240286/windows-how-to-create-directory-symlink#24240393。

对于文件符号链接,你不需要使用/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"

现在这个方法对我有效。

0