现在有些项目要升级到Java17, 所以需要切换不同的java版本。

如何安装Java8

由于已经安装了j=Java8, 之前的安装文章:【Java】jdk8安装——英文版

如何安装Java17

Java17下载地址

https://www.oracle.com/java/technologies/downloads/#java17-windows

在这里插入图片描述

下载到电脑的安装包

在这里插入图片描述

安装需要Windows电脑管理员权限:

在这里插入图片描述

安装过程只需要点击下一步:

在这里插入图片描述

由于只有一个C盘不需要切换安装路径我是直接点下一步安装:

在这里插入图片描述

安装完成:

在这里插入图片描述

删除环境变量中安装过程自动创建的path路径,加上之前安装Java8的就有3个,都删除了,只保留之前配置的%JAVA_HOME%\bin路径给来引用Java版本就可以了。

在这里插入图片描述

在环境变量中新增2个环境变量,一个是JAVA8_HOME,一个是JAVA17_HOME各自把它们的安装路径填入,并将JAVA_HOME的内容改为默认引入这2个变量的其中一个。

通过环境变量切换Java

例如默认设置为Java17,那么JAVA_HOME的则填入%JAVA17_HOME%,想将java设置为Java8,那么同理JAVA_HOME的则填入%JAVA8_HOME%

在这里插入图片描述

在命令行窗口输入java -version,可以看到启用的Java的版本号:

在这里插入图片描述

当将环境变量引用为Java8后,JAVA_HOME的则填入%JAVA8_HOME%,重新打开一个命令行窗口再看看Java版本号

在这里插入图片描述

已成功切换为Java8

在这里插入图片描述

通过命令行临时切换Java

如果不通过管理员权限切换,也可以临时通过命令行进去Java版本的切换,但命令行只针对当前打开的命令行窗口有效,具体命令如下:

切换到 Java 17:

set JAVA_HOME=%JAVA17_HOME%
set PATH=%JAVA_HOME%\bin;%PATH%
java -version

切换到 Java 8:

set JAVA_HOME=%JAVA8_HOME%
set PATH=%JAVA_HOME%\bin;%PATH%
java -version

通过IDEA切换Java

还有一个好办法可以不通过管理员权限和命令行切换Java版本和Maven版本,那就是使用IDEA在项目里设置。

切换Java版本:

设置位置:File / Project Structure / Project Settings / Project / SDK
在这里插入图片描述
切换Maven版本:

在Intellij IDEA选择自己电脑安装好的Maven版本并应用,Maven安装相对简单只要下载下来,引用路径就可以了,可参考我之前的安装记录:【Java】Maven3.5.0安装,在IDEA切换Maven只需要引用不同Maven存放的路径就可以了。

设置位置:File / Settings / Build, Execution, Deployment / Build Tools / Maven / Maven home path

在这里插入图片描述

如果是只在项目切换号Java版本和Maven版本,在IDEA命令行不会生效的,那么需要执行一些Maven的命令,则可以通过Maven Helper插件的这个小工具:

在这里插入图片描述

可以自己敲命令也可以通过双击的命令列表

在这里插入图片描述

重启电脑环境变量切换版本失效解决方案

需要管理员权限,关闭 “启动快速启动(推荐)”,并保存修改。

位置:控制面板 / 硬件和声音 / 电源选项 / 选择电源按钮的功能 / 更改当前不可用的设置 / “启动快速启动(推荐)”

在这里插入图片描述

具体步骤截图可以参考这篇板车少女写的博文:JAVA环境配置及如何解决win10重启后环境配置失效的问题

但也不是所有的电脑都会有这个问题。

我第一台电脑是Win10后升级的Win11有这个问题,第二台电脑预装的Win11,Java8和Java17一次性安装在电脑,重启环境变量也没有失效,所以不需要关闭 “启动快速启动(推荐)”。

更多推荐