mps-batch/MpsSimulationBatch/bin/start.bat

86 lines
2.5 KiB
Batchfile
Raw Normal View History

2025-09-13 16:31:45 +08:00
@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%