因为不同的项目有不同的JAVA版本,因此需要有需要随时切换不同JAVA版本的需求(WINDOWS)
思路是把JAVA指定到一个公用路径,通过链接指向不同的目录来进行切换。
创建一个目录C:\Program Files\Java\defaultjava 作为公用目录
机器另外安装了不同的JAVA版本,具体路径如下:
C:\Program Files\Java\jdk-1.8
C:\Program Files\Java\jdk-17.0.11
C:\Program Files\Java\jdk-24.0.1
%JAVA_HOME%设置为:
JAVA_HOME=C:\Program Files\Java\defaultjava
%Path%添加:C:\Program Files\Java\defaultjava\bin
编写脚本
切换JAVA版本.bat
@echo off
choice /c:123 /m:"Please choose default Java version: 1. JAVA8; 2.JAVA17; 3.JAVA24"
if %errorlevel%==4 goto end
if %errorlevel%==3 goto three
if %errorlevel%==2 goto two
if %errorlevel%==1 goto one
:one
echo Switch to Java 8
rmdir "C:\Program Files\Java\defaultjava\bin"
rmdir "C:\Program Files\Java\defaultjava\lib"
rmdir "C:\Program Files\Java\defaultjava\conf"
mklink /d "C:\Program Files\Java\defaultjava\bin" "C:\Program Files\Java\jdk-1.8\bin"
mklink /d "C:\Program Files\Java\defaultjava\conf" "C:\Program Files\Java\jdk-1.8\lib"
dir "C:\Program Files\Java\defaultjava"
java -version
pause>nul
goto begin
:two
echo Switch to Java 17
rmdir "C:\Program Files\Java\defaultjava\bin"
rmdir "C:\Program Files\Java\defaultjava\lib"
rmdir "C:\Program Files\Java\defaultjava\conf"
mklink /d "C:\Program Files\Java\defaultjava\bin" "C:\Program Files\Java\jdk-17.0.11\bin"
mklink /d "C:\Program Files\Java\defaultjava\lib" "C:\Program Files\Java\jdk-17.0.11\lib"
mklink /d "C:\Program Files\Java\defaultjava\conf" "C:\Program Files\Java\jdk-17.0.11\conf"
dir "C:\Program Files\Java\defaultjava"
java -version
pause>nul
goto begin
:three
echo Switch to Java 17
rmdir "C:\Program Files\Java\defaultjava\bin"
rmdir "C:\Program Files\Java\defaultjava\lib"
rmdir "C:\Program Files\Java\defaultjava\conf"
mklink /d "C:\Program Files\Java\defaultjava\bin" "C:\Program Files\Java\jdk-24.0.1\bin"
mklink /d "C:\Program Files\Java\defaultjava\lib" "C:\Program Files\Java\jdk-24.0.1\lib"
mklink /d "C:\Program Files\Java\defaultjava\conf" "C:\Program Files\Java\jdk-24.0.1\conf"
dir "C:\Program Files\Java\defaultjava"
java -version
pause>nul
goto begin
:end
echo Press any key to Exit.
pause>nul
@echo on
需要以管理员身份证运行上述bat文件。
运行效果如下:

浙公网安备 33010602011771号