首先自己寻找JDK并安装,我不提供。然后一一安装。 至于安装在哪里,就看你的喜欢和你的管理方式。高版本的安装其实很方便。
对于环境变量,先去Path
把带java
字眼的路径删掉。当然你也可先备份再删,也可以不删,只不过后续需要把添加的java相关路径放在前面。
继续环境变量。对于CLASSPATH
,有些ide需要,比如eclipse。它们之间比较玄学,所以还是保留者,没有就添上。由于要变更版本,所以要相对引用。不过不需担心,管它找不到找得到。
由于高版本的JDK目录结构变了,以及由于Applet几乎不使用了,没有单独安装JRE了。所以可以参考我的设计方式,反正只要能到达手动切换也比较简单即可。
我的设计如图。HOME
是给CLASSPATH
用的。每安装一个版本都要如图创建 JDKxx_HOME
和JDKxx_JDK_JRE
。当然你也可以创建一个bat(vbs或许更好吧),在安装时故意设计好安装路径,然后根据文件夹的名称来创建这两个变量。我就不需要了,我只简单搞了一个一键切换版本的。
双版本之间切换
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| @echo off :: 变量延迟 虽然感觉此处不需要 setlocal ENABLEDELAYEDEXPANSION
:: 管理员权限 %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit cd /d "%~dp0"
::换成utf-8 chcp 65001
:: 预设环境变量 set jdk8_home=%JDK8_HOME% set jdk8_java=%JDK8_JDK_JRE% set jdk11_home=%JDK11_HOME% set jdk11_java=%JDK11_JDK_JRE%
:: 当前 set current_home=%JAVA_HOME% set current_java=%JAVA%
echo jdk8_home=%jdk8_home% echo jdk8_java=%jdk8_java% echo jdk11_home=%jdk11_home% echo jdk11_java=%jdk11_java% echo current_home=%current_home% echo current_java=%current_java%
::交换,会换成绝对路径,要相对引用的话,可以用%%转义一个%,不过名字要改成环境变量的名字。 if "%current_java%" equ "%jdk8_java%" ( echo 换成11 SETX /M JAVA_HOME %jdk11_home% SETX /M JAVA %jdk11_java% ) else ( echo 换成8 SETX /M JAVA_HOME %jdk8_home% SETX /M JAVA %jdk8_java% )
|
多个版本之间切换,输入型的。(傻逼了,直接根据输入进行拼接就可以了,那还要判断呀)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| @echo off :: 变量延迟 虽然感觉此处不需要 setlocal ENABLEDELAYEDEXPANSION
:: 管理员权限 %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit cd /d "%~dp0"
::换成utf-8 chcp 65001
::记住 set /a 执行数学计算 :: set /p 提示用户输入 set /p aim="你想要的java版本:"
:: 当前 set current_home=%JAVA_HOME% set current_java=%JAVA% echo current_home=%JAVA_HOME% echo current_java=%JAVA%
::本想设计成map的方式的 if %aim% equ 8 ( echo 换成8 SETX /M JAVA_HOME %%JDK8_HOME%% SETX /M JAVA %%JDK8_JDK_JRE%% goto end )
if %aim% equ 9 ( echo 换成9 SETX /M JAVA_HOME %%JDK9_HOME%% SETX /M JAVA %%JDK9_JDK_JRE%% goto end )
if %aim% equ 10 ( echo 换成10 SETX /M JAVA_HOME %%JDK10_HOME%% SETX /M JAVA %%JDK10_JDK_JRE%% goto end )
if %aim% equ 11 ( echo 换成11 SETX /M JAVA_HOME %%JDK11_HOME%% SETX /M JAVA %%JDK11_JDK_JRE%% goto end )
if %aim% equ 12 ( echo 换成12 SETX /M JAVA_HOME %%JDK12_HOME%% SETX /M JAVA %%JDK12_JDK_JRE%% goto end )
if %aim% equ 13 ( echo 换成10 SETX /M JAVA_HOME %%JDK13_HOME%% SETX /M JAVA %%JDK13_JDK_JRE%% goto end )
if %aim% equ 14 ( echo 换成10 SETX /M JAVA_HOME %%JDK14_HOME%% SETX /M JAVA %%JDK14_JDK_JRE%% goto end )
if %aim% equ 15 ( echo 换成10 SETX /M JAVA_HOME %%JDK15_HOME%% SETX /M JAVA %%JDK15_JDK_JRE%% goto end )
:end
|
以后切换版本就只须点击bat(我后来觉得vbs好一些)即可,真是方便呐。如果使用频繁还可创建快捷方式,利用win+R
来快速切换,哈,究极方便。