javac 版本和 java 版本在命令行上显示不同

javac version and java version show different on command line

之前,我有 java 8. 我最近安装了 java 11. 我将我的路径 Java\jdk-11.0.7\bin 移到了我的环境变量的顶部。当我执行 javac -version 时,它会给我版本 11。但是当我执行 java -version 时,它会给我版本 8。我该如何更正此问题?具体来说,我想要 运行 一个使用 java 11.

编译的 jar 文件

在 linux 失真中,您可以使用

配置 java 和 javac
update-alternatives --config java
update-alternatives --config javac

每当您安装 JDK 时,它也会询问 JRE 的路径。您提到的 JRE 路径可能不同于 JAVA_HOME 或选择退出安装。如果发生这种情况,您应该同时卸载 Java 8 和 Java 11,然后重新安装 Java 11。但是,在执行此操作之前,您可以 try/ensure 以下事项:

  1. 如果你把PATH写成%JAVA_HOME%\bin,安装路径(即JAVA_HOME的路径)有space就不行了。在这种情况下,您需要将绝对路径而不是 %JAVA_HOME%\bin 放在 PATH 环境变量中。
  2. 在新的 cmd 中尝试命令 window。
  3. 重启系统。
  4. 将 JDK bin 的路径移到用户变量和系统变量的顶部。

我是先装JDK16,再装JDK1.8。安装JDK1.8后,我从1.8.2自动更新了一次到1.8.3,然后关闭了更新功能。 那么就会出现像你这样的情况。 首先,进入系统环境变量 将PATH中的“%java_home%\bin”移至最前面 然后找到两个JavaPath C:\Program Files (x86)\Common Files\Oracle\Java\Java路径 C:\Program Files\CommON Files\Oracle\Java\Java路径 将要 C:\Program Files (x86)\Common Files\Oracle\Java\Java路径 其中一个目录也叫 java.exe 文件删除或移动到别处 然后Java-Version和Javac-Version显示为16.0.2.

版本

如果我们还原“C:\Program Files (x86)\Common Files\Oracle\Java\JavaPath”下的java.exe 那么就会出现版本号不一致的情况