安装了多个java 如何切换java版本
侧边栏壁纸
  • 累计撰写 34 篇文章
  • 累计收到 18 条评论

安装了多个java 如何切换java版本

Hrlni
2021-04-06 / 0 评论 / 84 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2021年04月06日,已超过488天没有更新,若内容或图片失效,请留言反馈。

问题描述

平常用的是java8,最近在学习java的新特性。这就需要从java8往更高的java版本切换。由于还在使用java8,测试完新特性后我需要再切换回java8

如何切换

安装java的时候我们会配置JAVA_HOME这个环境变量.所有要切换java版本,只需要修改JAVA_HOME即可,在JAVA_HOME里面写上java8的安装目录,那就使用的是java8,JAVA_HOME里面写上java9的安装目录,则使用的是java9

解决方案

手动切换

手动修改,JAVA_HOME中的地址即可,这里不介绍

在cmd中临时切换java版本

例如现在在cmd中,临时需要用到java9的jshell,可以输入如下命令进行设置:

set path=E:\java\java9\jdk-9\bin;%path%

其中:

E:\java\java9\jdk-9\bin

是jdk9的安装路径.

批处理实现

因为手动修改JAVA_HOME,太过繁琐,所以通过一个批处理程序来实现.

新增环境变量

新增JAVA_HOME_8,JAVA_HOME_9,JAVA_HOME_11分别写入java8,java9,java11的安装目录,这和配置JAVA_HOME一样.

批处理脚本

创建一个名为快捷方式的目录

CJavaBat.bat

然后在快捷方式下,创建批处理脚本CJavaBat.bat,开头的C是change的意思.

@echo off
@echo ------------------------------------------------
@echo 当前Java版本为:
java -version
@echo ------------------------------------------------
@echo 输入要使用的java版本对应的选项:
@echo 选项   含义
@echo 8      切换环境为JDK8
@echo 9      切换环境为JDK9
@echo 11     切换环境为JDK11
@echo ------------------------------------------------
set /P choose=请输入选择:
IF "%choose%" EQU "8" (
    REM 修改JAVA_HOME环境变量为%JAVA_HOME_8%,
    setx "JAVA_HOME" "%%JAVA_HOME_8%%" /m
    echo 已经修改 "JAVA_HOME" 为 %%JAVA_HOME_8%%
) ELSE IF "%choose%" EQU "9" (
    setx "JAVA_HOME" "%%JAVA_HOME_9%%" /m
    echo 已经修改 "JAVA_HOME" 为 %%JAVA_HOME_9%%
REM setx "Path" "%cd%;%path%" /m
) ELSE IF "%choose%" EQU "11" (
    setx "JAVA_HOME" "%%JAVA_HOME_11%%" /m
    echo 已经修改 "JAVA_HOME" 为 %%JAVA_HOME_11%%
)
pause

上面程序中的setx命令就是用来修改环境变量的.语法格式为:setx 环境变量名 环境变量值 /m。setx设置环境变量需要管理员权限,以管理员身份,运行上面的CJavaBat.bat就可以修改JAVA_HOME环境变量的内容,从而切换Java版本

给CJavaBat.bat设置管理员权限

创建CJavaBat.bat的快捷方式,然后将这个快捷方式重命名为CJava,注意一定要修改名字。
然后在快捷方式上面右键。选择属性,在快捷方式选项卡上,点击高级,然后勾选上用管理员身份运行。
这样以后直接点击CJava这个快捷方式就可以以管理身份运行CJavaBat.bat这个批处理脚本了。
管理员配置
管理员配置2
这样直接运行CJava根据提示设置即可

2

评论 (0)

取消