按周工交付的 SEC-Z-01 清理后源码建立 M-Z 主干,并按 Git 仓库惯例重排目录。 - aomin-gateway/ 后端工程 87 文件,原样保留,路径与构建命令未变 - demo/ 演示前端与设备模拟器 9 文件(原 02_前端与设备端),非正式三端 - docs/handover/ 交付与安全清理材料 6 份,内容未改 - docs/contract/ J-00 规格、OpenAPI、内部五接口、状态机、Mock 样例 - docs/reference/ 指纹与校验清单,含 84 个源码文件的 sha256 清单 目录重排只动位置不动内容:源码树 84 文件哈希与交付一致,逐文件自校验通过; 12 条 Flyway 迁移与交付包内镜像逐字节一致。 未纳入:迁移镜像目录(与工程内一套重复,改留指纹)、target/、证据 raw、 应急恢复脚本、评审用虚构台账数据。 安全:SEC-Z-01 15 处明文已清零,导入前重新扫描无新增命中,本仓库无历史污染。 行尾按交付字节原样保存(.gitattributes 设 * -text),不做归一化以免整树摘要失效。
84 lines
2.7 KiB
Batchfile
84 lines
2.7 KiB
Batchfile
@echo off
|
||
chcp 936 >nul 2>&1
|
||
title aomin-gateway :8080
|
||
setlocal EnableDelayedExpansion
|
||
|
||
REM ============================================================
|
||
REM aomin-gateway 启动器(鹤仆云 S 线一期演示包)
|
||
REM
|
||
REM 绿色化要点:
|
||
REM 1) JAVA_HOME 用包内自带的 jdk-21.0.2,别人机器不用装 Java;
|
||
REM 2) 日志目录由 LOG_DIR 传给 Spring Boot,不写死盘符;
|
||
REM 3) 有 jar 就直接跑,不碰 Maven(构建只在没 jar 时才发生)。
|
||
REM ============================================================
|
||
|
||
REM 项目根 = 本文件往上两级(app\aomin-gateway -> 包根)
|
||
pushd "%~dp0..\.."
|
||
set "ROOT=%CD%\"
|
||
popd
|
||
|
||
set "JAVA_HOME=%ROOT%jdk-21.0.2"
|
||
set "LOG_DIR=%ROOT%logs"
|
||
set "JAR=%ROOT%app\aomin-gateway\target\aomin-gateway-0.0.1-SNAPSHOT.jar"
|
||
|
||
if not exist "%JAVA_HOME%\bin\java.exe" (
|
||
echo [ERROR] 找不到包内 JDK:%JAVA_HOME%
|
||
echo 包里必须自带 jdk-21.0.2 目录;如果被删了,请装 JDK 21 并改本脚本。
|
||
exit /b 1
|
||
)
|
||
if not exist "%LOG_DIR%" mkdir "%LOG_DIR%"
|
||
set "PATH=%JAVA_HOME%\bin;%PATH%"
|
||
|
||
echo ================================================
|
||
echo aomin-gateway :8080
|
||
echo JAVA_HOME %JAVA_HOME%
|
||
echo LOG_DIR %LOG_DIR%
|
||
echo ================================================
|
||
echo.
|
||
|
||
cd /d "%ROOT%app\aomin-gateway"
|
||
|
||
if not exist "%JAR%" (
|
||
echo [INFO] 未找到 jar,开始构建(需要包内 maven 目录)...
|
||
if not exist "%ROOT%maven\bin\mvn.cmd" (
|
||
echo [ERROR] 没有 jar 也没有 maven,无法启动。
|
||
echo 正常发的包一定带 jar,请检查 app\aomin-gateway\target\
|
||
exit /b 1
|
||
)
|
||
set "PATH=%ROOT%maven\bin;%PATH%"
|
||
call mvn -B -o -Dmaven.repo.local="%ROOT%data\m2repo" clean package -DskipTests
|
||
if errorlevel 1 (
|
||
echo [ERROR] 构建失败,看上面的错误信息
|
||
exit /b 1
|
||
)
|
||
)
|
||
|
||
REM 环境里可能存在 SERVER__PORT(部分工具会注入),Spring Boot 会把它
|
||
REM 当成 server.port 读进去,导致端口变成随机值。清掉,并在命令行显式指定。
|
||
REM ---- SEC-Z-01: the DB password must come from the environment ----
|
||
REM No default password is built into this project or into this script.
|
||
if "%DB_PASS%"=="" (
|
||
echo [ERROR] DB_PASS is not set. Nothing will start.
|
||
echo Run: set DB_PASS=your_password
|
||
echo Then run this script again.
|
||
exit /b 1
|
||
)
|
||
|
||
set "SERVER__PORT="
|
||
|
||
REM 本地演示要灌演示数据(admin / 字典 / 示范小区)。
|
||
REM 生产环境不要设这个变量——application.yml 里默认 false。
|
||
set "BIZ_DEMO_ENABLED=true"
|
||
|
||
echo [INFO] 健康检查 http://127.0.0.1:8080/health
|
||
echo [INFO] 日志 %LOG_DIR%\app.log
|
||
echo [INFO] 按 Ctrl+C 停止
|
||
echo.
|
||
|
||
REM 前端目录也用绝对路径传进去(WebConfig 里不再写死盘符)。
|
||
REM 不传的话默认找“当前目录\web”,而这个 bat 已经 cd 到 app\aomin-gateway,会 404。
|
||
java -Dbiz.web.dir="%ROOT%web" -jar "%JAR%" --server.port=8080
|
||
|
||
echo.
|
||
echo [INFO] 已停止
|