Java多个版本切换的几种方法

 更新时间:2023年03月23日 11:24:40   作者:蓝蓝223  
本文主要介绍了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,可以输入如下命令进行设置:

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,开头的Cchange的意思.

@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 环境变量名 环境变量值 /msetx设置环境变量需要管理员权限,以管理员身份,运行上面的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

到此这篇关于多个Java版本如何切换的文章就介绍到这了,更多相关Java版本切换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java设计模式之工厂模式分析【简单工厂、工厂方法、抽象工厂】

    Java设计模式之工厂模式分析【简单工厂、工厂方法、抽象工厂】

    这篇文章主要介绍了Java设计模式之工厂模式,结合实例形式分析了简单工厂、工厂方法、抽象工厂等相关功能、实现与使用方法,需要的朋友可以参考下
    2018-04-04
  • ThreadLocal 在上下文传值场景实践源码

    ThreadLocal 在上下文传值场景实践源码

    这篇文章主要为大家介绍了ThreadLocal在上下文传值场景下的实践源码,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • Spring框架学习笔记之方法注解@Bean的使用

    Spring框架学习笔记之方法注解@Bean的使用

    这篇文章主要给大家介绍了关于Spring框架学习笔记之方法注解@Bean使用的相关资料,这是一个我们很常用的注解,作用是指示一个方法生成一个由Spring管理的Bean,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • Spring基于AspectJ的AOP开发案例解析

    Spring基于AspectJ的AOP开发案例解析

    这篇文章主要介绍了Spring的基于AspectJ的AOP开发,AspectJ是一个基于Java语言的AOP框架,使用AspectJ需要导入Spring AOP和AspectJ相关jar包,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • SpringBoot项目没有把依赖的jar包一起打包的问题解决

    SpringBoot项目没有把依赖的jar包一起打包的问题解决

    这篇文章主要介绍了SpringBoot项目没有把依赖的jar包一起打包的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Java创建多线程的8种方式集合

    Java创建多线程的8种方式集合

    这篇文章主要介绍了Java创建多线程的8种方式集合,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • IDEA如何进行commit之后的代码回退

    IDEA如何进行commit之后的代码回退

    在 IntelliJ IDEA 中回退 Git 版本涉及查找提交记录、复制提交编号、重置 HEAD 并强行推送到远程仓库,本文提供详细步骤和注意事项,帮助用户安全地回退到旧版本
    2024-09-09
  • java.lang.OutOfMemoryError: Metaspace异常解决的方法

    java.lang.OutOfMemoryError: Metaspace异常解决的方法

    这篇文章主要介绍了java.lang.OutOfMemoryError: Metaspace异常解决的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • java new一个对象的过程实例解析

    java new一个对象的过程实例解析

    这篇文章主要介绍了java new一个对象的过程实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Spring之spring-context-indexer依赖详解

    Spring之spring-context-indexer依赖详解

    这篇文章主要介绍了Spring之spring-context-indexer依赖详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11

最新评论