---
url: /notes/知识库/常见问题解决方案/index.md
---
## JDK切换配置

下载对应的JDK，可使用idea下载

下载的目录结构如下

![image-20251212223214451](https://note-1259190304.cos.ap-chengdu.myqcloud.com/noteimage-20251212223214451.png)

### winodw脚本

> 指定对应的JDK目录即可,必须使用管理员运行

```cmd
@echo off
chcp 65001

rem  ========== 1. 维护表：序号=路径 ==========
set "JDK[1]=D:\install\Java\jdk-1.6"
set "JDK[2]=D:\install\Java\jdk-1.7"
set "JDK[3]=D:\install\Java\jdk-1.8"
set "JDK[4]=D:\install\Java\jdk11"
set "JDK[5]=D:\install\Java\jdk17"
set "JDK[6]=D:\install\Java\jdk21"
rem  ============================================

:: ========== 关键：一定要在 ***任何*** for 之前打开 ==========
setlocal enabledelayedexpansion

:: 计算数组长度
set /a len=0
:count
set /a len+=1
if defined JDK[%len%] goto count
set /a len-=1

:: 校验路径
echo [Check] 校验 JDK 路径...
for /l %%i in (1,1,%len%) do (
 if exist "!JDK[%%i]!\bin\java.exe" (echo   [OK] [路径：!JDK[%%i]!]) else (echo   [ERROR] [路径：!JDK[%%i]! 无效])
)
echo.

:: 显示当前环境变量
echo Current environment variables:
echo JAVA_HOME: %JAVA_HOME%
echo.

:: 显示当前 JDK 版本（容错版）
echo Current JDK version:
:: 先尝试跑 java；找不到或报错就提示，继续往下
java -version >nul 2>&1 && (
    java -version 2>&1 | findstr /i "version"
) || (
    echo   未找到 java 命令，可能 JAVA_HOME 未设置或路径无效
)
echo.

:: 动态菜单
echo Please select JDK:
for /l %%i in (1,1,%len%) do echo   %%i. !JDK[%%i]!
echo.


:: 选择
set /p choice=输入序号进行切换：:
if "%choice%"=="" (echo 未输入，任意键退出 & pause & exit /b 1)

:: 用 call 子程序拿到路径（避开括号延迟扩展陷阱）
call :getPath %choice%
if not defined SELECTED (echo 序号无效 & pause & exit /b 1)

:: 切换
echo 正在切换至：%SELECTED%
setx JAVA_HOME "%SELECTED%" /M >nul 2>&1 && (
   echo 切换成功！
) || (
   echo 切换失败，可能被拦截
)
echo.
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_HOME 2>nul | find /i "JAVA_HOME"
echo.
echo 请重新打开命令窗口执行 java -version 验证。
pause
exit /b

:: 子程序：根据序号返回路径
:getPath
set "SELECTED="
for /l %%i in (1,1,%len%) do if "%~1"=="%%i" set "SELECTED=!JDK[%%i]!"
goto :eof


```

### 执行过程

![image-20251212225648331](https://note-1259190304.cos.ap-chengdu.myqcloud.com/noteimage-20251212225648331.png)

### springBoot 启动 依赖外部配置文件

#### window启动脚本

```cmd
start cmd /k "java -jar D:\projects\xx\xxx.jar --spring.config.location=file:D:\projects\xx\application-Prod.yml"
```

#### linux启动脚本

```bash
java -jar home/projects/xx/xxx.jar --spring.config.location=file:D:/projects/xx/application-Prod.yml
```
