boot.bat
@echo off
setlocal enabledelayedexpansion:: 定义帮助信息
set HELP_MSG=使用方法: %0 [选项,可选-m,-j,-h] [参数...]:: 默认启动方式为 mvn
set MODE=mvn
set ARGS=:: 解析命令行参数
:parse_args
if "%~1"=="" goto end_parseif "%~1"=="-h" goto show_help
if "%~1"=="--help" goto show_help
if "%~1"=="-m" (set "MODE=mvn" & shift & goto parse_args)
if "%~1"=="--mvn" (set "MODE=mvn" & shift & goto parse_args)
if "%~1"=="-j" (set "MODE=jar" & shift & goto parse_args)
if "%~1"=="--jar" (set "MODE=jar" & shift & goto parse_args):: 收集应用参数
set "ARGS=!ARGS! %~1"
shift
goto parse_args:end_parse:: 执行对应启动方式
if "%MODE%"=="mvn" (echo 正在使用 mvnw.cmd 启动应用...call mvnw.cmd spring-boot:run -Dspring-boot.run.arguments="%ARGS%"goto end
)if "%MODE%"=="jar" (:: 查找最新的 JAR 文件 (假设在 target 目录)set "JAR_FILE="for /f "delims=" %%f in ('dir /b /o-d target\*.jar 2^>nul') do (if not defined JAR_FILE set "JAR_FILE=target\%%f")if not defined JAR_FILE (echo 错误: 未找到 JAR 文件,请先执行 mvnw.cmd package 打包exit /b 1)echo 正在使用 JAR 文件启动: !JAR_FILE!java -jar "!JAR_FILE!" %ARGS%goto end
):show_help
echo %HELP_MSG%
goto end:end
endlocal