1.下载JDK,官方链接:Java Archive | Oracle
https://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教程,下次再出吧...嘿嘿(*^▽^*)