jdk10和jdk8共存和快速切换
某次空闲时间我我把jdk升级到了10(原先版本是8),后来因为项目需求,要用到jdk8,但是我又不想卸载掉10,于是想到了jdk共存,按照百度经验操作,发现不管怎么样都是jdk10
原因如下
首先,jdk10和以往jdk不一样,他会自动在 C:\Program Files (x86)\Common Files\Oracle\Java\javapath 或者在C:\ProgramData\Oracle\Java\javapath 目录下面生成三个文件
这三个文件的优先级比较高,会使java -version和javac -version一直显示jdk10
第一步删掉这三个文件
第二步配置正确环境变量
首先设置两个总变量 JAVA_HOME 和 JAVA_HOME_JRE
为什么这么设置,通常配置方法是在系统变量里设置一个变量JAVA_HOME值为jdk安装路径例如( C:\Program Files\Java\jdk-10.0.2)配置 classpath值为 (.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar)(括号里面的都要)
然后配置 path 值为 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
但是这么配置的话对于jdk10而言不可以,在cmd里面javac没有反应,因为在jdk10的安装目录里面没有jre文件夹,jdk8可以
(最新的jdk安装本身不带jre 需要手动生成 以管理员身份打开cmd
cd C:\Program Files\Java\jdk-11.0.1
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
这样就会生成jre
)
针对以上不同设置两个总变量
然后设置分变量截图如下(变量有点多,但是为了以后方便)
然后在path里添加两条 %JAVA_HOME%\bin 和 %JAVA_HOME_JRE%\bin
classpath依旧为 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
到了这里就配置好了
只要修改 JAVA_HOME 和 JAVA_HOME_JRE的值就随意切换版本了
让我们来试试
先在版本是jdk8
在cmd里面试试
重点来了
查看版本
切换版本试一试
切换完以后一定要按两次确定
然后重启命令行