#!/usr/bin/env bash # 与当前目录下 application.properties 同路径启动 V2(maven 构建)包。 # 默认优先系统 JDK 8;若只有 JDK11+ 会自动附加 --add-opens。 # ELEVATOR_USE_ENV_JAVA=1 ./run.sh 使用当前 JAVA_HOME(如 Conda)。 set -euo pipefail cd "$(dirname "$0")" # shellcheck source=../common-java.sh source "$(cd "$(dirname "$0")" && pwd)/../common-java.sh" JAR="cw-elevator-application-2.0.0.jar" if [[ ! -f "$JAR" ]]; then echo "缺少 $JAR,请在 deploy 目录执行: ./sync-jars.sh" >&2 exit 1 fi _pick_java_home if [[ ! -x "${JAVA_HOME}/bin/java" ]]; then echo "ERROR: 未找到可执行的 JDK。请安装 openjdk-8-jdk,或设定 JAVA_HOME / ELEVATOR_USE_ENV_JAVA=1 ./run.sh(使用 Conda 等当前环境)。" >&2 exit 1 fi JAVA="${JAVA_HOME}/bin/java" OPEN_FLAGS=() while IFS= read -r line; do [[ -n "$line" ]] && OPEN_FLAGS+=("$line") done < <(_jdk8_open_flags "$JAVA") # 同 v1:由 redis-override.properties 合并出 SPRING_APPLICATION_JSON。 if ! command -v python3 >/dev/null 2>&1; then echo "需要 python3(deploy/merge-redis-json.sh)。请安装 python3。" >&2 exit 1 fi MERGE="$(cd "$(dirname "$0")" && pwd)/../merge-redis-json.sh" if [[ ! -x "$MERGE" ]]; then chmod +x "$MERGE" 2>/dev/null || true fi export SPRING_APPLICATION_JSON="$("$MERGE" "$PWD/redis-override.properties")" # shellcheck disable=SC2086 exec "$JAVA" "${OPEN_FLAGS[@]}" ${ELEVATOR_JAVA_OPTS:-} -jar "$JAR" \ --spring.config.location=file:./application.properties,file:./application-access-control.properties,file:./redis-override.properties