Java 版本显示 7 而 Java 版本在 windows 中显示 8?

Java version shows 7 and Java version shows 8 in windows?

看到以下行为我真的很沮丧,并且在研究如何解决这个问题后还不确定。我有两个单独的项目,一个仅适用于 Java 7(无法更新至 Java 8),另一个项目适用于 Java 8(无法降级至 7)。所以我在我的 windows 机器上同时安装了 Java 7 和 8。

所以,我经常看到以下行为。目前我在 Java 8 上,想切换回 Java 7,所以我更改了环境变量 JAVA_HOME 和 PATH 指向 Java 7,但是当我通过 CMD 验证时, 它显示我正在关注。

C:\>java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

C:\>javac -version
javac 1.7.0_71

我不能使用以上组合,这两个项目都不适合我。所以我总是需要卸载 Java 8 然后只有我可以指向 Java 7。 另外,如果我想移回 Java 8(再次安装 Java 8),那么它会显示以下组合。 如何解决 Windows 上的这个错误? 因为每次卸载 JDK 都不是解决方案。 请帮帮我

C:\>java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

C:\>javac -version
javac 1.8.0_45

java.exe,Java 运行时,也安装在 c:\windowsc:\windows\system32(不记得了,我现在在 Mac ).

所以即使你的PATH包含JDK的bin目录,如果c:\windows(或c:\windows\system32)在之前[=20] =] JDK\bin 在 PATH 中,使用的是 c:\windows(或 c:\windows\system32)中的版本。

只需确保 JDK 在 PATH 中位于第一个,或者至少在 c:\windows(或 c:\windows\system32)之前。