window下多版本JDK安装和切换

1.下载JDK,官方链接:Java Archive | Oracleicon-default.png?t=N7T8https://www.oracle.com/java/technologies/downloads/archive/
2.安装

Java8版本以上(不包含8版本)的JDK不再需要额外安装JRE,所以直接下载安装好JDK即可。我自己的安装位置:

# java8
D:\java\java8\jdk
D:\java\java8\jre
# jdk11
D:\java\java11\jdk
# jdk17
D:\java\java17\jdk
3.删除java.exe、javaw.exe、javaws.exe三个文件

在初次安装JDK时,安装包会自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制在C:\Windows\System32目录,这个目录在Windows环境变量中的优先级高于JAVA_HOME设置的环境变量优先级。所以将C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe三个可执行文件 删除即可。

4.删除系统环境变量中安装jdk产生的javapath

在安装jdk的时候,安装过程中会在系统变量Path的最前面加上C:\ProgramData\Oracle\Java\javapath这是安装jdk的时候带出来的,并且在Path的最前面,所以无论修改注册表还是Java控制台都没有用,执行的指令在系统变量中搜寻命令时最先找到的就是C:\ProgramData\Oracle\Java\javapath,将其两个路径都删掉,然后点击确定保存

5.配置默认的环境变量
1.设置JAVA_HOME的作用
  • 方便引用,比如,你JDK安装在D:\java\java8\jdk1.8.0_181目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可,避免每次引用都输入很长的路径串。
  • 归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 可能会导致系统崩溃。
  • 第三方软件会引用JAVA_HOME变量

这里配置为JDK8的路径只是暂时表示有一个默认的JDK而已,后面通过执行bat文件来修改为其他版本的JDK,由此来实现JDK不同版本的切换。

JAVA_HOME
D:\java\java8\jdk #具体的路径按照自己的实际安装位置调整
2.设置CLASS_PATH

 这里只是为了JAVA8版本以及该版本以下的情况配置(比如JDK7,JDK6等等)

CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
3.配置PATH

1.注意,在path中配置\bin和\jre\bin的时候,必须放在path路径中的最顶部,否则该配置项就不会被读取到,这样, 我们在任何路径下就可以仅用java来执行命令,当在命令提示符窗口输入你个代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序,并且执行。

1.1.找到环境变量->系统变量中的“Path”->双击打开

1.2.将下面这两项路径配置添加到“Path”中,然后点击“上移”按钮,将其移动到最顶部

PATH
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin

6.编写bat脚本

1.新建CJDK.txt文件(Changing the JDK version),并写入以下内容:

@echo off
@echo ------------------------------------------------
@echo 输入要更改的版本对应的编号:
@echo options   version
@echo 8         JDK8
@echo 11        JDK11
@echo 17        JDK17
@echo ------------------------------------------------
set /P choose=请输入你的选择:
IF "%choose%" EQU "8" (
    setx "JAVA_HOME" "D:\java\java8\jdk" /m
    echo "JAVA_HOME" 已修改为: D:\java\java8\jdk
)  ELSE IF "%choose%" EQU "11" (
    setx "JAVA_HOME" "D:\java\java11\jdk" /m
    echo "JAVA_HOME" 已修改为:D:\java\java11\jdk
) ELSE IF "%choose%" EQU "17" (
    setx "JAVA_HOME" "D:\java\java17\jdk" /m
    echo "JAVA_HOME" 已修改为: D:\java\java17\jdk
)
pause

注意:其中的路径根据自己的JDK实际安装路径进行修改

2.在记事本中点击->文件->另存为->选择保存位置,将文件保存为 ANSI编码格式,并将文件类型改为“所有文件(*.*)”,否则中文内容可能会乱码

2.1.如果是在notepad++中:点击编码->转为ANSI编码

2.2.然后点击文件->另存为->选择保存位置->自定义文件名->选择文件类型为“All typs(*.*)”进行保存

2.3.将保存好的文件生成快捷方式到桌面:鼠标右键->发送到->桌面快捷方式

2.4.右击CJDK.bat文件,点击属性 -> 快捷方式 -> 高级 -> 勾选用管理员身份运行 -> 点击确定,保存关闭。

6.测试

1.使用 Win + r 键 ->输入 cmd 打开dos命令窗口,查看Java版本:命令java -version,可以看到当前Java版本为1.8


C:\Users\pc>java -version
java version "1.8.0_391"
Java(TM) SE Runtime Environment (build 1.8.0_391-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.391-b13, mixed mode)

2.切换Java版本:双击CJDK.bat,在弹出框中输入对应要切换的版本:比如切换为11的版本,输入对应的Options编号即可,按任意键退出。

3.重新打开dos命令窗口,再次查看Java版本,可以看到已经更改为Java11.

C:\Users\pc>java -version
java version "11.0.20" 2023-07-18 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.20+9-LTS-256)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.20+9-LTS-256, mixed mode)
7.延伸

其实在github上已经有JDK的版本管理工具JVMS(个人觉得嘎嘎好使),该工具全部使用go语言进行开发,项目地址:GitHub - ystyle/jvms: JDK Version Manager (JVMS) for Windows

 对比我们自己来定义相对更全面和方便,使用起来也比较简单,这里只是展示JDK的版本切换方法,网上的教程有很多,各位大佬自行参考,至于JVMS教程,下次再出吧...嘿嘿(*^▽^*)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值