问题描述
平常用的是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
一样.
批处理脚本
创建一个名为快捷方式
的目录。
TJava.bat
在这个快捷方式
目录下新建TJava.bat
,写入如下命令:
@echo off
java -version
pause
运行这个批处理就可以看到当前用的是哪个java
版本了.这里使用批处理是为了快速运行这个java -version
命令,不用手动操作。
CJavaBat.bat
然后在快捷方式
下,创建批处理脚本CJavaBat.bat
,开头的C
是change
的意思.
@echo off
@echo ------------------------------------------------
@echo 当前Java版本为:
call TJava.bat
@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
这个批处理脚本了。
配置CJava到Path环境变量
将这个快捷方式
目录配置到Path
环境变量中,这样系统会在这个目录下查找程序,
通过Win+R运行CJava
然后就可以按下Win+R
来启动运行,结束输入CJava
,即可启动程序。
CJava程序说明
在CJava
中输入选项:8,则切换到Java8
,输入9,则切换到Java9
,输入11则切换到java11
,依次类推,可以拓展上面的程序,以支持切换更多的java
版本。
CJava运行效果
------------------------------------------------
当前Java版本为:
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
请按任意键继续. . .
------------------------------------------------
输入要使用的java版本对应的选项:
选项 含义
8 切换环境为JDK8
9 切换环境为JDK9
11 切换环境为JDK11
------------------------------------------------
请输入选择:11
成功: 指定的值已得到保存。
已经修改 "JAVA_HOME" 为 %JAVA_HOME_11%
请按任意键继续. . .
可以看到切换之前是Java8
,切换后为Java11
查看是否切换成功
运行上面创建TJava.bat
,查看运行效果:
java version "11.0.4" 2019-07-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.4+10-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.4+10-LTS, mixed mode)
请按任意键继续. . .
可以看到现在已经成功切换为Java11
了
来源:https://blog.csdn.net/qq_21808961/article/details/102217844
猜你喜欢
- 在处理大文件时,如果利用普通的FileInputStream 或者FileOutputStream 抑或RandomAccessFile 来
- 本文实例讲述了Java接口继承和使用接口操作。分享给大家供大家参考,具体如下:一 接口的继承1 点睛接口支持多继承,一个接口可以有多个父接口
- Handler、Message、Loopler、MessageQueen首先看一下我们平常使用Handler的一个最常见用法。Handler
- 前言本文将实现一个MyBatis的Springboot的Starter包,引用这个Starter包后,仅需要提供少量配置信息,就能够完成My
- synchronized原理在java中,每一个对象有且仅有一个同步锁。这也意味着,同步锁是依赖于对象而存在。当我们调用某对象的synchr
- Java读取txt文件内容。可以作如下理解:首先获得一个文件句柄。File file = new File(); file即为文件句柄。两人
- 最近研究了一下如何在Android上实现CoverFlow效果的控件,其实早在2010年,就有Neil Davies开发并开源出了这个控件,
- 1、问题描述几种代码写法会有不同的ID返回值,下面我们一一分析。2、问题分析 首先一种插入写法,源码如下:SysUser .java/**
- 三目条件运算公式为 x?y:z 其中x的运算结果为boolean类型,先计算x的值,若为true,则整个三目运算的结果为表达式y
- 前言由于现在网络层已经升级到RxJava2.x相关的了,所以需要做些调整。虽然RxJava1.x和RxJava2.x同属RxJava系列,但
- 前言static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优
- 本文介绍了JAVA中实现原生的 socket 通信机制原理,分享给大家,具体如下:当前环境jdk == 1.8知识点socket 的连接处理
- 概念是利用锁的机制来实现同步的。互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机制,这样在同一时间只有一
- 1.可能是缓存导致的。解决方法:清除缓存!2.全局编译可能项目依赖别的模块,别的模块修改未进行编译,这时须先对依赖模块进行编译补充知识:ID
- mybatis的大于小于号转义符号言简意赅!如下XML转义字符<<小于号>>大于号<=
- MyBatis 是一款优秀的持久层框架,被各大互联网公司使用,本文使用Spring Boot整合Mybatis,并完成CRUD操作。为什么要
- 引言:关于java IO流的操作是非常常见的,基本上每个项目都会用到,每次遇到都是去网上找一找就行了,屡试不爽。上次突然一个同事问了我jav
- 初学C++的朋友经常在类中看到public,protected,private以及它们在继承中表示的一些访问范围,很容易搞糊涂。今天本文就来
- 1.登录腾讯云点击登录选择浏览器登录。输入用户名 按回车键 然后输入 密码。2.安装java环境直接命令:yum -y install ja
- 面试中可能会被问到为什么我们调用start()方法时会执行run()方法,为什么我们不能直接调用run()方法?Java 创建线程的方法实际