目录导航
支持windows linux macOS | jdk一键切换版本 一键切换jdk版本 jdk版本更换 jdk版本一键切换工具
使用注意事项:
注意修改脚本中的路径.
脚本下载地址:
Linux_or_macOS_jdk一键更换版本.sh
#!/bin/sh
# *name*.sh [version]
jdk6_home=~/apt/jdk1.6.0_34
jdk7_home=~/apt/jdk1.7.0_67
jdk8_home=~/apt/jdk1.8.0_05
# 默认JDK6
case $1 in
jdk6 )
export JAVA_HOME=$jdk6_home
;;
jdk7 )
export JAVA_HOME=$jdk7_home
;;
jdk8 )
export JAVA_HOME=$jdk8_home
;;
*)
export JAVA_HOME=$jdk6_home
;;
esac
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
Windows jdk一键更换版本.bat
@echo off
rem 切换Java jdk版本
echo 请以管理员来进行切换
java -version
:menu
echo =============================================
echo 请选择要切换的jdk版本
echo 1:Java jdk 17
echo 2:Java jdk 1.8
echo 3: 取消
echo =============================================
set /p ch=请选择:
if "%ch%"=="1" goto java17
if "%ch%"=="2" goto java1.8
if "%ch%"=="3" goto exit
goto menu
:java17
set JAVA_HOME=C:\Program Files\Java\jdk-17.0.2
set JRE_HOME=C:\Program Files\Java\jdk-17.0.2
set JAVA_VERSION=17
goto exec
:java1.8
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131
set JRE_HOME=C:\Program Files\Java\jre1.8.0_131
set JAVA_VERSION=1.8
goto exec
:exec
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit" /v CurrentVersion /t REG_SZ /f /d "%JAVA_VERSION%"
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment" /v CurrentVersion /t REG_SZ /f /d "%JAVA_VERSION%"
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_HOME /t REG_SZ /f /d "%JAVA_HOME%"
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JRE_HOME /t REG_SZ /f /d "%JRE_HOME%"
del /f "C:\Windows\System32\java.exe"
copy /Y "%JAVA_HOME%\bin\java.exe" "C:\Windows\System32\java.exe"
del /f "C:\Windows\System32\javaw.exe"
copy /Y "%JAVA_HOME%\bin\javaw.exe" "C:\Windows\System32\javaw.exe"
del /f "C:\Windows\System32\javaws.exe"
copy /Y "%JAVA_HOME%\bin\javaws.exe" "C:\Windows\System32\javaws.exe"
set JAVA_PATH=C:\ProgramData\Oracle\Java\javapath
del /f "%JAVA_PATH%\java.exe"
mklink "%JAVA_PATH%\java.exe" "%JAVA_HOME%\bin\java.exe"
del /f "%JAVA_PATH%\javaw.exe"
mklink "%JAVA_PATH%\javaw.exe" "%JAVA_HOME%\bin\javaw.exe"
del /f "%JAVA_PATH%\javaws.exe"
mklink "%JAVA_PATH%\javaws.exe" "%JAVA_HOME%\bin\javaws.exe"
echo 已切换到JDK %JAVA_VERSION%
pause
goto exit
:exit

使用方法:
Windows复制代码另存为.bat,根据自身系统jdk位置进行修改,管理员身份运行.
Linux/macOS复制代码另存为.sh,根据自身系统jdk位置进行修改,运行.
可能存在的问题:

①乱码问题
编码重新保存,例如使用ASCII编码.
②Linux下无权限问题:
赋予权限
chmod +x jdk.sh
③zsh: ./jdk.sh: bad interpreter: /bin/sh^M: 没有那个文件或目录
使用如下命令即可
sed -i 's/\r$//' jdk.sh
项目地址:
GitHub:
https://github.com/SkyBlueEternal/jdk-change
转载请注明出处及链接