@echo off chcp 65001 >nul REM MPS模拟批量处理启动脚本 (Windows版本) REM 作者:mps-batch REM 版本:1.0 setlocal enabledelayedexpansion REM 设置基础路径 set SCRIPT_DIR=%~dp0 set PROJECT_HOME=%SCRIPT_DIR%.. set JAR_FILE=%SCRIPT_DIR%\mps-simulation-batch-jar-with-dependencies.jar set CONF_DIR=%PROJECT_HOME%\conf echo 所有路径配置: echo ---------------------------------------- echo 脚本目录: %SCRIPT_DIR% echo 项目根目录: %PROJECT_HOME% echo JAR文件路径: %JAR_FILE% echo 配置目录: %CONF_DIR% echo ---------------------------------------- REM 设置Java参数 set JAVA_OPTS=-Xms512m -Xmx1024m -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Shanghai -Dconsole.encoding=UTF-8 set JAVA_OPTS=%JAVA_OPTS% -Dlogback.configurationFile=%PROJECT_HOME%\src\main\resources\logback.xml set JAVA_OPTS=%JAVA_OPTS% -Dconfig.file=%CONF_DIR%\application.properties REM 从配置文件中读取日志路径并设置系统属性 set LOG_PATH_FROM_CONFIG= if exist "%CONF_DIR%\application.properties" ( for /f "tokens=*" %%i in ('findstr /b "^log.path=" "%CONF_DIR%\application.properties"') do ( set LINE=%%i set LOG_PATH_FROM_CONFIG=!LINE:~9! ) if defined LOG_PATH_FROM_CONFIG ( set JAVA_OPTS=%JAVA_OPTS% -Dlog.path=!LOG_PATH_FROM_CONFIG! echo 从配置文件读取日志路径: !LOG_PATH_FROM_CONFIG! ) ) REM 输出启动信息 echo ================================================== echo MPS模拟批量处理程序 echo ================================================== echo 项目路径: %PROJECT_HOME% echo JAR文件: %JAR_FILE% echo 配置目录: %CONF_DIR% echo Java参数: %JAVA_OPTS% echo 启动参数: %* echo 启动时间: %date% %time% echo ================================================== REM 检查JAR文件是否存在 if not exist "%JAR_FILE%" ( echo 错误: JAR文件不存在 - %JAR_FILE% echo 请先执行 'mvn clean package' 编译项目 pause exit /b 1 ) REM 检查配置文件是否存在 if not exist "%CONF_DIR%\application.properties" ( echo 错误: 配置文件不存在 - %CONF_DIR%\application.properties pause exit /b 1 ) REM 运行Java程序 java %JAVA_OPTS% -jar "%JAR_FILE%" %* REM 获取退出状态 set EXIT_CODE=%ERRORLEVEL% echo ================================================== echo 程序执行完毕,退出状态: %EXIT_CODE% echo 结束时间: %date% %time% echo ================================================== if "%EXIT_CODE%" neq "0" ( echo 程序执行失败,请检查日志文件 pause ) exit /b %EXIT_CODE%