60 lines
2.1 KiB
Plaintext
60 lines
2.1 KiB
Plaintext
|
|
#!/bin/bash
|
|||
|
|
# 双击此文件即可在新终端启动 backend:
|
|||
|
|
# 1) 杀掉占用 20600 的旧进程
|
|||
|
|
# 2) 用 Maven 把 crmeb-common / crmeb-service 安装到本地 m2(这样 crmeb-admin 单模块运行时能找到依赖)
|
|||
|
|
# 3) 进入 crmeb-admin 目录,用完整 GAV 调用 spring-boot:run
|
|||
|
|
set -e
|
|||
|
|
cd "$(dirname "$0")"
|
|||
|
|
|
|||
|
|
PROFILE="${BACKEND_PROFILE:-byjyw149}"
|
|||
|
|
|
|||
|
|
echo "🛑 Stopping any process listening on :20600 ..."
|
|||
|
|
PIDS=$(lsof -t -iTCP:20600 -sTCP:LISTEN 2>/dev/null || true)
|
|||
|
|
if [ -n "$PIDS" ]; then
|
|||
|
|
echo " killing PIDs: $PIDS"
|
|||
|
|
kill -9 $PIDS 2>/dev/null || true
|
|||
|
|
sleep 2
|
|||
|
|
else
|
|||
|
|
echo " no existing process on :20600"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 自动定位 Java(沿用 start-backend.sh 的逻辑)
|
|||
|
|
find_java() {
|
|||
|
|
if /usr/libexec/java_home &>/dev/null; then
|
|||
|
|
echo "$(/usr/libexec/java_home)/bin/java"; return
|
|||
|
|
fi
|
|||
|
|
for p in /opt/homebrew/opt/openjdk*/bin/java /opt/homebrew/opt/openjdk/bin/java \
|
|||
|
|
/usr/local/opt/openjdk*/bin/java /usr/local/opt/openjdk/bin/java; do
|
|||
|
|
[ -x "$p" ] && echo "$p" && return
|
|||
|
|
done
|
|||
|
|
[ -n "$SDKMAN_DIR" ] && [ -x "$SDKMAN_DIR/candidates/java/current/bin/java" ] && \
|
|||
|
|
echo "$SDKMAN_DIR/candidates/java/current/bin/java" && return
|
|||
|
|
command -v java 2>/dev/null
|
|||
|
|
}
|
|||
|
|
JAVA_BIN=$(find_java)
|
|||
|
|
if [ -z "$JAVA_BIN" ]; then
|
|||
|
|
echo "❌ 未找到 Java,请先安装 JDK 11(brew install openjdk@11)"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
export JAVA_HOME="$(dirname "$(dirname "$JAVA_BIN")")"
|
|||
|
|
echo "☕ Java: $JAVA_BIN"
|
|||
|
|
"$JAVA_BIN" -version
|
|||
|
|
echo ""
|
|||
|
|
|
|||
|
|
cd backend
|
|||
|
|
|
|||
|
|
# 第一步:把依赖模块编译并安装到本地 m2(首次执行会下载依赖;只在源代码变更后需要重跑)
|
|||
|
|
echo "🔧 Step 1: install crmeb-common + crmeb-service to local m2 ..."
|
|||
|
|
echo ""
|
|||
|
|
./mvnw install -pl crmeb-common,crmeb-service -am -Dmaven.test.skip=true -q
|
|||
|
|
|
|||
|
|
# 第二步:进入 crmeb-admin 单模块跑 spring-boot:run(避免根 pom 触发 main class 错误)
|
|||
|
|
echo ""
|
|||
|
|
echo "🚀 Step 2: launch crmeb-admin (profile=$PROFILE) ..."
|
|||
|
|
echo ""
|
|||
|
|
cd crmeb-admin
|
|||
|
|
exec ../mvnw \
|
|||
|
|
org.springframework.boot:spring-boot-maven-plugin:2.3.0.RELEASE:run \
|
|||
|
|
-Dmaven.test.skip=true \
|
|||
|
|
-Dspring-boot.run.profiles="$PROFILE"
|