Files
syly2/README.md
T

34 lines
2.9 KiB
Markdown

# 三亚旅游统计管理系统 syly2
本仓库从 2026-10-29 交接包的**外层 Maven 工程**建立维护基线。原始清单的 5,302 个文件已逐一核验 SHA-256,与当天成功构建和 UAT 部署的源文件一致。
入库版本包含已验证的三处 Java 8/Linux 编译兼容修正:POM 使用平台路径分隔符,两个统计 Controller 删除未使用的 JDK 内部类导入。数据库备份、历史 target、内层重复工程及真实凭据不进入仓库。
## 构建
需要 JDK 8、Maven 3.9.11。原工程包含 6 个中央仓库缺失的旧组件,脚本将交接 JAR 安装到项目专用 Maven 仓库,再编译 WAR:
```sh
export JAVA_HOME=/absolute/path/to/jdk8
export PATH="$JAVA_HOME/bin:$PATH"
bash scripts/build.sh
```
可通过 `MVN=/absolute/path/to/mvn` 指定 Maven,通过 `MAVEN_REPO_LOCAL=/absolute/path/to/repository` 指定依赖缓存。输出为 `target/syly.war`。脚本显式跳过原有测试编译和执行;这些历史测试含外部系统访问,不能作为离线单元测试运行。`src/main/com` 沿用原 POM,不属于主编译源码根。
## 部署配置与密钥
入库前移出了数据库、邮件、短信及诊断工具中的硬编码凭据,RSA 私钥和 AES 密钥改由 `RuntimeSecrets` 读取。配置模板位于 `config/secrets.example.properties`,支持同名环境变量,或 `SYLY_SECRETS_FILE` / JVM 参数 `-Dsyly.secrets.file=/absolute/private/path` 指向的私有 properties 文件。环境变量优先;必需密钥缺失时明确报错,不自动生成替代密钥。
**历史数据必须使用原 AES 密钥;当前前端公钥要求原 RSA 私钥配对。** 这些值从原交接配置经私有渠道取得,本次没有轮换密钥。私有配置应保存在仓库和 WAR 外,限制为运行用户可读。邮件、短信为空时须继续禁用相关外部任务。
`src/main/resources/dbconfig.properties`、`sysConfig.properties` 与 `zzc/zzc_database.properties` 是去除凭据的配置基线;部署前在运行副本中配置实际数据库/邮件连接。默认外部接口指向本地禁用地址。Druid 监控 Servlet 按此前 UAT 的做法移除。
`ops/uat-build`、`ops/uat-deploy` 保存**此前 UAT 的操作脚本与说明**,含当次路径和原始产物哈希检查。它们是历史复现资料,不是当前仓库 WAR 的直接发布命令。现有 UAT 未被本次入库操作更新。
## 验证范围
见 [验证记录](docs/VERIFICATION.md) 和 `docs/evidence/`。此前 UAT 已通过编译、部署、登录及基础页面检查,但仍存在旧 JavaScript 报错和菜单内嵌页面切换问题;全量报表、业务填报、附件及省级接口尚未验收。
入库时 UAT 网络不可达,因此对凭据移出后的版本执行本地 Java 8 编译和离线加解密兼容检查,不能将此前 UAT 运行结果视为当前提交的完整运行验收。