From 325ea3b486cbea4b5f1cf06b8877e2029e80e6c9 Mon Sep 17 00:00:00 2001 From: wh Date: Wed, 15 Apr 2026 00:16:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=89=93=E5=8C=85=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assembly/distribution.xml | 4 ++-- pom.xml | 13 ++++++++--- scripts/start.sh | 42 +++++++++++++++------------------- src/main/resources/logback.xml | 2 +- 4 files changed, 32 insertions(+), 29 deletions(-) diff --git a/assembly/distribution.xml b/assembly/distribution.xml index 6df86d7..8d48045 100644 --- a/assembly/distribution.xml +++ b/assembly/distribution.xml @@ -24,8 +24,8 @@ src/main/resources etc - application.yml - logback.xml + *.yml + *.xml diff --git a/pom.xml b/pom.xml index 4a02d56..a397ece 100644 --- a/pom.xml +++ b/pom.xml @@ -137,11 +137,14 @@ src/main/resources sql/** + *.yml + *.xml + *.yaml + *.properties - org.apache.maven.plugins maven-jar-plugin @@ -150,8 +153,12 @@ com.label.LabelBackendApplication - false + true + ./ + + ../etc/ + @@ -196,4 +203,4 @@ - + \ No newline at end of file diff --git a/scripts/start.sh b/scripts/start.sh index 5669657..7cbc550 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -1,29 +1,25 @@ #!/bin/bash -# label-backend 启动脚本 -# - Docker 环境(检测 /.dockerenv):exec 前台运行,保持容器进程存活 -# - 裸机 / VM:nohup 后台运行,日志追加至 logs/startup.log -set -e +# 1. 获取脚本所在目录的绝对路径 +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" -BASEDIR=$(cd "$(dirname "$0")/.." && pwd) -LIBDIR="$BASEDIR/libs" -CONFDIR="$BASEDIR/etc" -LOGDIR="$BASEDIR/logs" +# 2. 获取项目根目录 (假设 bin 在根目录下) +APP_HOME="$(cd "$SCRIPT_DIR/.." && pwd)" -mkdir -p "$LOGDIR" +# 3. 【关键步骤】切换到项目根目录 +# 这样相对路径 "logs" 就会指向 $APP_HOME/logs +cd "$APP_HOME" -JVM_OPTS="${JVM_OPTS:--Xms512m -Xmx1024m}" -MAIN_CLASS="com.label.LabelBackendApplication" -JAVA_ARGS="$JVM_OPTS \ - -Dspring.config.location=file:$CONFDIR/application.yml \ - -Dlogging.config=file:$CONFDIR/logback.xml \ - -cp $LIBDIR/*" +# 4. 确保 logs 目录存在 +mkdir -p logs -if [ -f /.dockerenv ]; then - # Docker 容器:exec 替换当前进程,PID=1 接管信号 - exec java $JAVA_ARGS $MAIN_CLASS -else - # 裸机 / VM:nohup 后台运行 - nohup java $JAVA_ARGS $MAIN_CLASS >> "$LOGDIR/startup.log" 2>&1 & - echo "label-backend started, PID=$!" -fi +# 5. 定义其他变量 +JAR_FILE="$APP_HOME/libs/label-backend-1.0.0-SNAPSHOT.jar" + +# 6. 启动应用 +nohup java -Xms512m -Xmx512m \ + -jar "$JAR_FILE" \ + > /dev/null 2>&1 & + # 如果希望保留控制台日志备份,可以重定向到 $APP_HOME/logs/console.log + +echo "Application started. Logs at: $APP_HOME/logs/" \ No newline at end of file diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml index 3baf2e0..ffe2094 100644 --- a/src/main/resources/logback.xml +++ b/src/main/resources/logback.xml @@ -28,7 +28,7 @@ - +