在Window10或11系统中同时安装 JDK8 和 JDK11
在Window10或11系统中同时安装 JDK8 和 JDK11
最近写项目,之前的项目是用Java8环境开发的,在二次迭代中,但是新开发的项目采用Java11环境来开发,所以需要同时安装JDK8和JDK11环境,但是两个环境是不能同时使用的,每次切换使用某一种环境,我这里做个记录,把一些踩的坑也记录下,大家在进行操作时可以参考一下。
本文指导读者如何从Oracle官网下载并部署JDK8和11,设置JAVA_HOME、JAVA11_HOME和JAVA8_HOME环境变量,以及如何正确配置PATH以确保不同JDK版本间的顺利切换,特别关注了如何避免与Oracle默认路径冲突。
安装jdk:
从Oracle 官网下载两个版本的 JDK 文件到本地,官网下载地址:JDK 下载 | ORACLE
大家可以在官网下载,也可以用下面的链接下载,主要是看自己需要的版本:
「jdk」https://www.aliyundrive.com/s/zxmMxE6zsdb 提取码: 79lb
下载好之后双击exe文件,启动安装程序,选择好安装的路径即可,这里要注意一点不要有中文路径,切记。
二、安装
① JDK 1.8安装
选择“是”,然后如下图:
点击下一步:
安装过程中会弹出jre的安装提示框,如下所示:
这里无需改动,点击下一步,然后你会看到这个:
② JDK 11安装
JDK11安装速度实际是很快的,因为它没有为我们安装jre,而1.8会去安装jre,这就是区别所在,其他操作都跟安装Java8的jdk一样,另外,后面的JDK版本可能都不会为你安装jre,因此你需要手动去生成jre文件。在后面配置环境变量哪里会说明怎么生成JDK 11的jre文件。
三、 配置环境变量
① 进入高级系统设置
方式一:使用快捷键Win + S ,在输入框中输入env,按回车即可。
方式二:
鼠标右键 “此电脑” 选择属性,之后会出现一个弹窗,点击 “高级系统设置”
② JDK1.8配置
输入完成之后点确认,第一项配置就完成了,接下来进行第二步
2.新建CLASSPATH 变量,变量值为:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意前面是有一个点的),配置好之后如下图,这里是可以复制粘贴的。
然后点确定保存变量,进入第三步
然后点确定保存,出去之后再点确定,然后再点确定,至此环境变量配置完毕,接下来就是测试环境变量配置有没有问题了。
③ JDK11配置
点击确定,然后我们在系统变量下找到Path变量,点击编辑,然后再弹出的窗口中点击新建按钮,输入:
%JAVA_HOME11%\bin
%JAVA_HOME11%\jre\bin
注意这里是新建一次添加一个,你不要一次就添加两个,那样是不行,如下图所示就是最终结果.
④ java11生成jre文件夹
用快捷键Win + S,输入cmd,选择以管理员身份运行
因为我是安装在D盘,所以首先我们进入D盘:
D:
进入JDK11安装目录
cd Java\jdk-11
然后使用如下命令生成jre文件夹
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
输入指令之后回车即可生成,注意不要重复生成,你也生成不了。如下图所示。
jre文件夹已经生成成功了。
四、验证环境变量配置
验证这个地方JDK1.8和JDK11没有什么区别,快捷键“ win + R ” ,打开运行窗口,输入cmd,点击确定打开命令行窗口。
① java 验证
② javac 验证
③ java -version 验证
再输入 java -version ,回车执行,(注意,java -version 中间有空格,我看到太多粗心的少打空格而失败了,切记、切记、切记。)
到这里你的Java环境已经安装好了!
下面是针对需要安装Java8和Java11两个环境的同学进行的操作:
首先你需要根据上面的安装好Java8和Java11的配置
然后配置路径
创建两个JAVA_HOME子变量JAVA8_HOME和JAVA11_HOME,分别指向jdk8和jdk11的安装目录
设置PATH环境变量的值为:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
设置JAVA_HOME环境变量的值:%JAVA_HOME8% 或 %JAVA_HOME11%
这样,在使用时如果需要切换jdk版本,只需要替换JAVA_HOME的值为相应的子变量即可
注意 :在同一个电脑上不能同时配置多个JDK环境变量,但是我们可以通过修改JDK环境变量中的JAVA_HOME 将值改成相应的JDK安装目录,达到来回切换的目的。
系统变量中的path中的%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin不需要变动。如图:
查看Java版本
在命令行下输入java -version
注意问题
有可能在修改成jdk8之后java -version还是显示的jdk11
这时要检查环境变量里的path配置,%JAVA_HOME%\bin之前是否还有对其他jdk版本进行了配置
因为系统识别是默认识别Path配置最前面的安装目录
打开cmd,输入java -version命令,查看版本,版本为JDK8。
切换版本:修改系统变量JAVA_HOME的值为 %JAVA11_HOME%
重启cmd 注意:一定要重启cmd!
BUG
输入java -version命令,查看版本,版本仍然为JDK8。
问题:切换版本失败
解决方案:
这里可以看到,在 Path 中的第二行,还有一个配置 C:\Program Files\Common Files\Oracle\Java\javapath 这是在安装 JDK 时 Oracle 默认的位置,为了实现可以方便的切换JDK的版本,就需要保证%JAVA_HOME%\bin 的配置在 Oracle 默认的路径配置的最前边 或者将 默认的路径和配置删除掉,否则会导致切换的失败。
改为版本之后要重启cmd 注意:一定要重启cmd!
好了,到此都没问题恭喜你就安装和切换版本成功了!可以点赞收藏一下吧~