我很沮丧地看到以下行为,并且在研究之后还不确定如何解决这个问题。我有两个单独的项目,一个仅适用于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
答案 0 :(得分:6)
java.exe
,Java运行时,也会安装在c:\windows
或c:\windows\system32
中(现在我不能记得,我现在在Mac上)。
因此,即使您的PATH包含JDK的bin目录,如果c:\ windows(或c:\ windows \ system32)在PATH中的 JDK \ bin之前出现,则c中的版本: \ windows(或c:\ windows \ system32)是使用的那个。
确保JDK是PATH中的第一个,或者至少在c:\ windows(或c:\ windows \ system32)之前。