前言
之前公司的项目一直用的都是JDK8,然后前段时间,公司要求以后的新项目必须要用JDK17及以上的版本。但是以前的旧项目还有很多都在维护。
这样子的话,电脑上就至少有两个版本的JDK了。我想在不变动环境变量的情况下(环境变量配置的JDK是8),如何同时使用多个JDK版本?不同JDK版本的jar项目如何灵活运行?
管理版本
1、下载不同版本JDK
其实很简单,首先去下载好其它的JDK版本,比如JDK17、JDK21,注意要下载压缩包,这样解压就可以,不用安装也不用配置环境变量。我们把所有JDK都放到一个目录下,更方便管理:

2、开发环境
至于写代码,其实idea中管理不同JDK版本的项目还是很方便的,点击 File------>Project Structure
菜单,就可以在弹出的界面中,切换不同版本的JDK,在SDK那个下拉框下面,可以把我们下载解压后的其它版本的JDK添加进来。


这样我们可以很方便的切换jdk版本。
3、运行不同JDK版本的jar项目
项目开发好后,我们打包,然后我们要运行jar的时候,如果直接用cmd 运行 java -jar test.jar
的话,那么这个命令用的jdk其实是jdk8。我上面说了,环境变量配置的jdk是jdk8,jdk17、jdk21我们并没有配置环境变量。
如果要运行jdk17或jdk21的jar项目,我们需要定位到对应版本的jdk的bin目录里,在这里打开cmd,然后执行java -jar test.jar
(这里要注意jar的路径) ,这样运行的才是对应版本的jdk。

这样可以是可以,但是很麻烦啊,每次运行都要定位到jdk的目录里去,就不能一键运行吗?
你别说,还真有:


只需右键jar文件,即可选择不同jdk版本运行。
那么如何添加右键菜单呢?
4、通过右键菜单管理软件添加右键菜单
我们可以使用右键菜单管理软件来添加右键菜单,除了添加右键菜单外,还可以管理其它的右键菜单。


如下图:我们点击那个加号,新建一个菜单,菜单类型是Shell

这里我们选多级菜单,也可以选一级,看自己喜好


在创建子菜单的页面,点加号创建子菜单:

改完命令后,点确定,就可以了。用这个软件设置右键菜单是即使生效的,不用重启资源管理器或者重启电脑。
最后
这样我们就可以很方便地管理不同jdk版本的jar包了,随时可以一键运行,不用切换环境变量或者定位到对应的jdk目录去运行jar包。
然后用到的右键软件是一个单文件exe,非常小,不用安装,去蓝奏下载 ,密码:9sdg