#!/bin/sh set -eu ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/../../.." && pwd) POM_FILE="$ROOT_DIR/ruoyi-admin/pom.xml" DEPLOY_SH="$ROOT_DIR/deploy/deploy-to-nas.sh" DEPLOY_PS1="$ROOT_DIR/deploy/deploy.ps1" DOCKERFILE="$ROOT_DIR/docker/backend/Dockerfile" TARGET_DIR="$ROOT_DIR/ruoyi-admin/target" echo "[检查] 后端打包必须同时产出 jar 与 war,部署脚本只能使用 war" if ! grep -Fq 'jar' "$POM_FILE"; then echo "失败: ruoyi-admin 仍需保持 jar 打包类型以支持本地内嵌 Tomcat 运行" exit 1 fi if ! grep -Fq 'war' "$POM_FILE"; then echo "失败: 未显式执行 war 打包目标" exit 1 fi if ! grep -Fq 'ruoyi-admin.war' "$DEPLOY_SH"; then echo "失败: deploy-to-nas.sh 未改为使用 ruoyi-admin.war" exit 1 fi if grep -Fq 'ruoyi-admin.jar' "$DEPLOY_SH"; then echo "失败: deploy-to-nas.sh 仍引用 ruoyi-admin.jar" exit 1 fi if ! grep -Fq 'ruoyi-admin.war' "$DEPLOY_PS1"; then echo "失败: deploy.ps1 未改为使用 ruoyi-admin.war" exit 1 fi if grep -Fq 'ruoyi-admin.jar' "$DEPLOY_PS1"; then echo "失败: deploy.ps1 仍引用 ruoyi-admin.jar" exit 1 fi if ! grep -Fq 'COPY backend/ruoyi-admin.war /app/ruoyi-admin.war' "$DOCKERFILE"; then echo "失败: Dockerfile 未改为复制 ruoyi-admin.war" exit 1 fi if grep -Fq 'ruoyi-admin.jar' "$DOCKERFILE"; then echo "失败: Dockerfile 仍引用 ruoyi-admin.jar" exit 1 fi echo "[检查] 执行 Maven 打包产物校验" ( cd "$ROOT_DIR" mvn -pl ruoyi-admin -am package -DskipTests ) if [ ! -f "$TARGET_DIR/ruoyi-admin.jar" ]; then echo "失败: 未生成 $TARGET_DIR/ruoyi-admin.jar" exit 1 fi if [ ! -f "$TARGET_DIR/ruoyi-admin.war" ]; then echo "失败: 未生成 $TARGET_DIR/ruoyi-admin.war" exit 1 fi echo "通过"