Java——尽管Java\u HOME指向C:\Program Files(x86)\Java\jdk-11.0.2,但版本给出了1.8.0\

Java——尽管Java\u HOME指向C:\Program Files(x86)\Java\jdk-11.0.2,但版本给出了1.8.0\,java,environment-variables,Java,Environment Variables,我有一台windows机器,能够安装jdk 11.0.2并在我的环境变量中进行设置,我的JAVA\u HOME环境如下所示:C:\Program Files(x86)\JAVA\jdk-11.0.2\,但当我使用JAVA时,我得到的版本是: java version "1.8.0_192" Java(TM) SE Runtime Environment (build 1.8.0_192-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.192-b1

我有一台windows机器,能够安装jdk 11.0.2并在我的环境变量中进行设置,我的
JAVA\u HOME
环境如下所示:
C:\Program Files(x86)\JAVA\jdk-11.0.2\
,但当我使用JAVA时,我得到的版本是:

java version "1.8.0_192"
Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)
我的系统路径也是java 11.0.2上的point

C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH
\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Git\cmd;C:\Program Files\nodejs\;C:\Program Files\Docker\Docker\resources\bin;C:
\ProgramData\DockerDesktop\version-bin;C:\Program Files (x86)\Java\jdk-11.0.2\bin;C:\Dev\Tomcat 8.5\Tomcat 8.5\bin;C:\Users\nxh113\tools\google-cloud-sdk\bin;C:\Users\nxh113\AppData\Lo
cal\Microsoft\WindowsApps;C:\Users\nxh113\AppData\Local\JetBrains\IntelliJ IDEA Community Edition 2020.1\bin;;C:\Users\nxh113\AppData\Roaming\npm;C:\Program Files (x86)\Java\jdk-11.0.2
;C:\Program Files (x86)\apache-maven-3.6.3\bin;C:\Users\nxh113\AppData\Local\Programs\Microsoft VS Code\bin;C:\Dev\Tomcat 8.5\Tomcat 8.5\bin;C:\ProgramData\chocoportable\bin;C:\Users\n
xh113\tools\google-cloud-sdk\bin;

有什么想法吗?

上面提到的PATH变量包含两个Java条目-

  • C:\ProgramFiles(x86)\Common Files\Oracle\Java\javapath
  • C:\ProgramFiles(x86)\Java\jdk-11.0.2\bin
  • 第一个条目中可能存在旧版本的Java(C:\Program Files(x86)\Common Files\Oracle\Java\javapath)。这就是java命令指向旧版本的原因

    通过从PATH变量中删除旧条目,可以解决此问题

    注意:


    对PATH变量的更改将仅在更改后打开的cmd窗口中生效。更改PATH变量之前已打开的cmd窗口仍将仅使用旧路径。

    您可以尝试的另一种方法是使用以下文件创建批处理文件:

    jdk="C:\Program Files\Java\jdk-13.0.2"
    javapath="C:\Program Files (x86)\Common Files\Oracle\Java\javapath"
    mklink %javapath%\java.exe" "%jdk%\bin\java.exe"
    mklink %javapath%\javaw.exe" "%jdk%\bin\javaw.exe"
    mklink %javapath%\javaws.exe" "%jdk%\bin\javaws.exe"
    

    %JAVA\u HOME%\bin
    作为第一个条目添加到路径中。它从左到右搜索。我看到第一个条目看起来像一个旧Java。它也是32位的,所以可能是其他早期的条目之一。祝你好运设置jdk=C:\Program Files\Java\jdk-12.0.2设置javapath=C:\Program Files(x86)\Common Files\Oracle\Java\javapath mklink“%javapath%\Java.exe”“%jdk%\bin\Java.exe”mklink“%javapath%\javaws.exe”“%jdk%\bin\javaws.exe”最后-无法创建文件,因为它已经存在。如果文件/链接已经存在,您可能必须删除这些文件/链接。另外,请检查权限。