安装了多个java 如何切换java版本
安装了多个java 如何切换java版本
问题描述
平常用的是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,可以输入如下命令进行设置:
1 | set path=E:\java\java9\jdk-9\bin;%path% |
其中:
1 | E:\java\java9\jdk-9\bin |
是jdk9的安装路径.
批处理实现
因为手动修改JAVA_HOME
,太过繁琐,所以通过一个批处理程序来实现.
新增环境变量
新增JAVA_HOME_8
,JAVA_HOME_9
,JAVA_HOME_11
分别写入java8
,java9
,java11
的安装目录,这和配置JAVA_HOME
一样.
批处理脚本
创建一个名为快捷方式
的目录。
TJava.bat
在这个快捷方式
目录下新建TJava.bat
,写入如下命令:
1 | @echo off |
运行这个批处理就可以看到当前用的是哪个java
版本了.这里使用批处理是为了快速运行这个java -version
命令,不用手动操作。
CJavaBat.bat
然后在快捷方式
下,创建批处理脚本CJavaBat.bat
,开头的C
是change
的意思.
1 | @echo off |
上面程序中的setx
命令就是用来修改环境变量的.语法格式为:setx 环境变量名 环境变量值 /m
。setx
设置环境变量需要管理员权限,以管理员身份,运行上面的CJavaBat.bat
就可以修改JAVA_HOME
环境变量的内容,从而切换Java
版本。
给CJavaBat.bat
设置管理员权限
创建CJavaBat.bat
的快捷方式,然后将这个快捷方式
重命名为CJava
,注意一定要修改名字。
然后在快捷方式
上面右键。选择属性
,在快捷方式
选项卡上,点击高级
,然后勾选上用管理员身份运行
。
这样以后直接点击CJava
这个快捷方式就可以以管理身份运行CJavaBat.bat
这个批处理脚本了。
配置CJava到Path环境变量
将这个快捷方式
目录配置到Path
环境变量中,这样系统会在这个目录下查找程序,
通过Win+R运行CJava
然后就可以按下Win+R
来启动运行,结束输入CJava
,即可启动程序。
CJava程序说明
在CJava
中输入选项:8,则切换到Java8
,输入9,则切换到Java9
,输入11则切换到java11
,依次类推,可以拓展上面的程序,以支持切换更多的java
版本。
CJava运行效果
1 | ------------------------------------------------ |
可以看到切换之前是Java8
,切换后为Java11
查看是否切换成功
运行上面创建TJava.bat
,查看运行效果:
1 | java version "11.0.4" 2019-07-16 LTS |
可以看到现在已经成功切换为Java11
了