&引用;系统找不到文件C:\ProgramData\Oracle\Java\javapath\Java.exe“;

&引用;系统找不到文件C:\ProgramData\Oracle\Java\javapath\Java.exe“;,java,environment-variables,Java,Environment Variables,我使用的是Windows 8上的JDK 8u25,我的Java安装遇到了问题。我可以很好地运行javac,但是运行java会产生以下错误消息: 系统找不到文件C:\ProgramData\Oracle\Java\javapath\Java.exe 我该如何解决这个问题 我认为问题与我的环境变量有关 我设置的重要变量包括: JAVA\u HOME–C:\Program Files\JAVA\jdk1.8.0\u 25 类路径–;%JAVA_HOME%\lib 路径–;%JAVA_HOME%\

我使用的是Windows 8上的JDK 8u25,我的Java安装遇到了问题。我可以很好地运行
javac
,但是运行
java
会产生以下错误消息:

系统找不到文件C:\ProgramData\Oracle\Java\javapath\Java.exe
我该如何解决这个问题


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

我设置的重要变量包括:

  • JAVA\u HOME
    C:\Program Files\JAVA\jdk1.8.0\u 25
  • 类路径
    ;%JAVA_HOME%\lib
  • 路径
    ;%JAVA_HOME%\bin
在cmd中使用
set
查看它们的扩展是:

  • JAVA\u HOME
    C:\Program Files\JAVA\jdk1.8.0\u 25
  • 类路径
    。;C:\ProgramFiles\Java\jdk1.8.0\U 25\lib;%类路径%
  • PATH
    C:\ProgramData\Oracle\Java\javapath;C:\ProgramFiles\Java\jdk1.6.0_45\bin;;C:\ProgramFiles\Java\jdk1.8.0\U 25\bin

可以查看设置的完整输出。

更新PATH环境变量

如果未设置PATH变量,则需要在每次运行可执行文件时指定其完整路径,例如:

C:\> "C:\Program Files\Java\jdk1.8.0\bin\javac" MyClass.java

永久设置PATH变量非常有用,这样在重新启动后它将保持不变。
要永久设置PATH变量,请将jdk1.8.0\bin目录的完整路径添加到PATH变量。通常,此完整路径类似于
C:\Program Files\Java\jdk1.8.0\bin

在Microsoft Windows上按如下方式设置PATH变量:

  • 单击开始,然后单击控制面板,然后单击系统
  • 单击高级,然后单击环境变量
  • 将JDK安装的bin文件夹的位置添加到系统变量中的PATH变量中。
    以下是PATH变量的典型值:

    C:\WINDOWS\system32;C:\WINDOWS;C:\ProgramFiles\Java\jdk1.8.0\bin

    注意:

  • PATH环境变量是由分号(;)分隔的一系列目录,不区分大小写。Microsoft Windows按从左到右的顺序在路径目录中查找程序

  • 对于JDK,一次只能在路径中有一个bin目录。遵循第一个实例的将被忽略

  • 如果您不确定在哪里添加JDK路径,请附加它


新路径在设置路径变量后打开的每个新命令窗口中生效。

路径变量中有两个版本的jdk
jdk1.6.0_45
jdk1.8.0_25
。尝试从
路径中删除第一个,即
jdk1.6.045

我有一个类似的问题,我目前正在解决。我不能说这将解决您的错误,因为其他软件可能存在问题(这是我使用EclipseLuna的情况)

Java正在使用path变量中给定的路径

  C:\ProgramData\Oracle\Java\javapath
转到此文件夹(ProgramData是隐藏的,因此在必要时取消隐藏),然后右键单击java.exe符号链接。您将在目标字段中看到它正在查找java.exe。它可能指向先前jdk1.6.0_45安装中的java.exe文件。可以在此处粘贴新的快捷方式,也可以像其他人提到的那样更改路径设置

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

编辑:----- 在使用javapath文件夹快捷方式之后,您需要符号链接,至少对于Eclipse是这样。见

文件符号链接不需要/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和环境变量相关的所有问题:

  • 去Windows吧
  • 在系统变量下,选择名为路径的变量。单击编辑…
  • 删除如下所示的条目:

    C:\ProgramData\Oracle\Java\javapath
    
  • 添加JDK/JRE的
    bin
    文件夹的路径

  • 不要忘记设置JAVA\u主页

  • 我无法理解为什么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
    中的旧符号链接(如果以前存在)

    必须有两个或多个路径变量。尝试使用分号(;)将它们合并为一个。

    我从一个非授权帐户安装java8后得到了相同的结果。 要修复这个问题,我只需从管理员用户帐户重新安装。
    这创建了一个引用目录,其中包含指向java EXE的文件链接。

    我也遇到了类似的问题,到那时我不得不卸载JDK 1.8,需要JDK 1.7。
    我所做的是从javapath中删除符号链接,然后将java、javaw、javaws的快捷方式从bin目录导入javapath文件夹。但是,我在企业笔记本电脑中发现了一些权限问题,到目前为止,我没有修改/更新此目录的权限。我已获得管理员的适当许可,并在那里解决了此问题。

    如果您使用的公司PC受到集团政策的严格限制,这可能会奏效

    假设

  • 您的Windows
    PATH
    包括
    C:\ProgramData\Oracle\Java\javapath
  • 您已将JDK安装到
    C:\Program Files\Java\jdk1.8.0\u 60\bin
  • 然后创建以下文本文件
    mklink.bat
    ,并将其放在桌面上:

    rem mklink.bat
    mklink /d C:\ProgramData\Oracle\Java\javapath "C:\Program Files\Java\jdk1.8.0_60\bin"
    pause
    
    现在右键单击它并选择“以管理员身份运行”。提供行政信条
    JAVA_HOME
    CLASSPATH
    PATH
    JRE_HOME ( is optional)