# 组织组件:发布替换现场旧包 — 操作清单 **适用:** 用本仓库 `**mvn clean package -DskipTests`**(**JDK 8**)产出的 Fat JAR,替换 `部署包/.../ninca-common-component-organization-V2.9.2_20210730/` 目录下的旧 `**…20210730.jar`**。 **构建产物(每次发布后更新哈希):** | 项 | 值 | | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | | **文件** | `maven-ninca-common-component-organization/cwos-component-organization-starter/target/ninca-common-component-organization-2.9.2-xinghewan.jar` | | **约大小** | ~96 MB | | **SHA-256(示例,2026-05-06 构建)** | `406409e377b0c5b57e2f9baeb3692c9e7b7cf739731fb389433566056bdaafce` | 构建命令: ```bash export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export PATH="$JAVA_HOME/bin:$PATH" cd maven-ninca-common-component-organization mvn clean package -DskipTests sha256sum cwos-component-organization-starter/target/ninca-common-component-organization-2.9.2-xinghewan.jar ``` --- ## 1. 发布前核对(源码侧已就绪项) | 项 | 状态 | | ----------------------------------------------------------------- | --- | | Data 模块 `**mapper/mysql/*.xml`(33)** 已进 `**src/main/resources`** | ✅ | | Interface 模块 `**component-org/messages*.properties**` 已从现场 JAR 回填 | ✅ | | Starter / `**SelfRegistryHandler**` 等已与现场对齐(见主Remediation文档) | ✅ | 替换现场 JAR 后,审计脚本中的 **MISSING_DEPLOY_JAVAP(18)** 应在 **现场进程 classpath** 中消失(需 **重新跑一次 `deploy_javap_audit.py`** 对 **新** 部署目录验证)。 --- ## 2. 现场替换步骤(运维) 1. **备份**:复制当前 `ninca-common-component-organization-V2.9.2_20210730.jar` 为带日期后缀的 `.bak`。 2. **停机**:按现有 `**stop.sh`** / systemd 停止进程。 3. **覆盖**:将构建 Fat JAR 复制到部署目录,**文件名可与现场脚本一致**(若脚本写死 `…20210730.jar`,可改名或改脚本指向新名)。 4. **配置**:保留 `**application.properties`(根目录)** 与环境占位符;合并仓库 `**run-verify`** 中与现场一致的键若需要。**勿**把本地测试库地址直接拷到生产。 5. **启动**:**JDK 8** 执行 `**java -jar`**(参数与现网一致,`spring.config.location` 等)。 6. **探活**:`/actuator/health`(或约定端口 **management.port**)、错误日志无连续异常。 --- ## 3. 发布后代码审计(可选) 在新的现场解压目录或新 Fat JAR 上: ```bash python3 tools/deploy_javap_audit.py --workers 16 \ --write-json tools/out/deploy_javap_audit_after_upgrade.json ``` 预期:**MISSING_DEPLOY** 显著下降或为 **0**(取决于是否仍用旧解压目录对比)。 --- ## 4. 仍存在的差异(预期) - `**javap` DIFFERENT(22)**:多为仓库 **超前演进**;若发布新版本即以仓库为准,需在 **预发做接口对拍**。 - `**BOOT-INF/lib` 文件名**:与 Spring Boot repackage 插件版本有关;以 **运行冒烟** 为准。 --- **关联:** `[2026-05-06-component-org-source-vs-deploy-continued-audit.md](./2026-05-06-component-org-source-vs-deploy-continued-audit.md)` · `[2026-05-06-component-org-full-java-audit-and-remediation.md](./2026-05-06-component-org-full-java-audit-and-remediation.md)`