#!/bin/bash # MPS模拟批量处理启动脚本 # 作者:mps-batch # 版本:1.0 # 设置基础路径 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_HOME="$(dirname "$SCRIPT_DIR")" JAR_FILE="$SCRIPT_DIR/mps-simulation-batch-jar-with-dependencies.jar" CONF_DIR="$PROJECT_HOME/conf" # 设置环境编码(Linux生产环境) export LANG=zh_CN.UTF-8 export LC_ALL=zh_CN.UTF-8 # 设置Java参数 JAVA_OPTS="-Xms512m -Xmx1024m -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Shanghai" JAVA_OPTS="$JAVA_OPTS -Dlogback.configurationFile=$PROJECT_HOME/src/main/resources/logback.xml" JAVA_OPTS="$JAVA_OPTS -Dconfig.file=$CONF_DIR/application.properties" # 从配置文件中读取日志路径并设置系统属性 if [ -f "$CONF_DIR/application.properties" ]; then LOG_PATH_FROM_CONFIG=$(grep "^log.path=" "$CONF_DIR/application.properties" | cut -d'=' -f2) if [ -n "$LOG_PATH_FROM_CONFIG" ]; then JAVA_OPTS="$JAVA_OPTS -Dlog.path=$LOG_PATH_FROM_CONFIG" echo "从配置文件读取日志路径: $LOG_PATH_FROM_CONFIG" fi fi # 输出启动信息 echo "==================================================" echo "MPS模拟批量处理程序" echo "==================================================" echo "项目路径: $PROJECT_HOME" echo "JAR文件: $JAR_FILE" echo "配置目录: $CONF_DIR" echo "Java参数: $JAVA_OPTS" echo "启动参数: $@" echo "启动时间: $(date '+%Y-%m-%d %H:%M:%S')" echo "==================================================" # 检查JAR文件是否存在 if [ ! -f "$JAR_FILE" ]; then echo "错误: JAR文件不存在 - $JAR_FILE" echo "请先执行 'mvn clean package' 编译项目" exit 1 fi # 检查配置文件是否存在 if [ ! -f "$CONF_DIR/application.properties" ]; then echo "错误: 配置文件不存在 - $CONF_DIR/application.properties" exit 1 fi # 运行Java程序 java $JAVA_OPTS -jar "$JAR_FILE" "$@" # 获取退出状态 EXIT_CODE=$? echo "==================================================" echo "程序执行完毕,退出状态: $EXIT_CODE" echo "结束时间: $(date '+%Y-%m-%d %H:%M:%S')" echo "==================================================" exit $EXIT_CODE