# 组织组件:源码与现场旧部署包 — 延续审核摘要 **日期:** 2026-05-06 **对照对象:** - **源码构建:** `maven-ninca-common-component-organization`(JDK 8,`mvn compile` / Fat JAR) - **现场:** `部署包/ninca_common_component_organization_01-ninca_common_component_organization/ninca-common-component-organization-V2.9.2_20210730` --- ## 1. Java 字节码(`javap` 全量脚本) 已复跑 `tools/deploy_javap_audit.py`(`src/main/java` **605** 文件): | 状态 | 数量 | | ----------------------- | --- | | IDENTICAL | 565 | | DIFFERENT | 22 | | MISSING_DEPLOY_JAVAP | 18 | | deploy_only_outer_types | 0 | 明细见:`maven-ninca-common-component-organization/tools/out/deploy_javap_audit_main.json`。 --- ## 2. Lua `cwos-component-organization-service/src/main/resources/lua` 与现场 `**BOOT-INF/classes/lua`**:`diff -rq` **无差异**。 --- ## 3. Fat JAR — `BOOT-INF/lib` 文件名级对比 - **现场:** 255 个嵌套 JAR;**本地 Fat JAR:** 260 个。 - Spring Boot **2.7.x repackage** 常把嵌套 JAR 命名为 `***-1.0.jar`**;现场解压目录为原始 `*** .jar`**。对文件名做 `**-1.0.jar` → `.jar` 规范化** 后再 `comm`: **仍不对称的典型原因(非缺依赖):** | 类型 | 说明 | | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | **四模块命名** | 现场:`cwos-component-organization-*-v2.9.2_xinghewan.jar`;本地:`cwos-component-organization-*-2.9.2-xinghewan.jar`(坐标/版本串写法不同)。 | | **opencv / javacpp** | 现场 lib 内单独 `**opencv-*.jar` / `javacpp*.jar`**;本地 Fat 中可能以 不同条目名或合并策略 出现,需以 `**jar tf` + 类路径加载** 校验运行时是否等价。 | | **spring-boot-jarmode-layertools** | 本地 Fat 含 `**spring-boot-jarmode-layertools-2.7.18.jar`**(来自 `**spring-boot-maven-plugin` 2.7.18**),现场旧包 **无**:属于 **打包插件版本差异**,一般 **不影响** 默认 `java -jar` 启动。 | | *cloudwalk-common- 重复** | 规范化集合里本地可能同时出现 `**cloudwalk-common-data-3.5.2-Brussels-SRX.jar` 与 `cloudwalk-common-data-3.5.2.jar`**(依赖收敛边界不同),需警惕 **类加载优先级**,建议在发布说明中 **固定一条依赖链**。 | **结论:** lib **清单不宜仅用文件名逐字相等**;发布前应在 **预发** 用 `**java -jar` + 冒烟** 验证;若需严格二进制一致性,应对齐 `**spring-boot-maven-plugin` / BOM** 与 CloudWalk **systemPath** 依赖集合。 --- ## 4. Data 模块 JAR — MyBatis XML | 制品 | `mapper/mysql/*.xml` | | --------------------------------------------------------------------------------- | -------------------- | | 现场 `**cwos-component-organization-data-v2.9.2_xinghewan.jar`** | **33** | | 本地(**2026-05-06 已回填后**)`**cwos-component-organization-data-2.9.2-xinghewan.jar`** | **33** | **已执行:** 从现场 JAR 解压 `**cn/cloudwalk/data/organization/mapper/mysql/*.xml`** 至 `cwos-component-organization-data/src/main/resources/cn/cloudwalk/data/organization/mapper/mysql/`(**33** 个文件),`**mvn -pl ... -am package` 与全反应堆 `mvn clean package` 均通过**;`jar tf` 可见全部 XML。 **说明:** `**TenantVisitorFloorPolicyMapper`** 仅使用 **注解 SQL**(`@Select`),不依赖新增 XML 文件。 --- ## 5. Service 模块 JAR — 哈希 | 文件 | SHA-256(前缀) | | ------------------------------------------------------------- | --------------- | | 现场 `cwos-component-organization-service-v2.9.2_xinghewan.jar` | `738aacf7f562…` | | 本地 `cwos-component-organization-service-2.9.2-xinghewan.jar` | `c007f4ece70a…` | 与 `**javap` DIFFERENT/MISSING** 结论一致:**字节码整体不一致**,其中 **18 类仅本地有**、**22 类签名差异**(含业务演进)。 --- ## 6. 配置文件 — `application.properties` 现场 `**BOOT-INF/classes/application.properties`**(216 行)与 **进程根目录 `application.properties`**(222 行)存在大量差异(diff 体量 **约 441 行** unified 上下文);此前已记录:线程池、**xhw***、Kafka、实例 ID、占位符主机名等。 **建议:** 以 **根目录覆盖文件** 为运行真相;修正无效行 `**新增配置`**;发布新版本时附带 **配置迁移清单**(Consul/Redis/MySQL/Kafka 占位符)。 --- ## 7. 下一步(按风险) 1. ~~**Data JAR 补齐 Mapper XML**~~(§4 已完成)。 2. ~~*Interface `component-org/messages.properties**`~~(已从现场 interface JAR 回填至` cwos-component-organization-interface/src/main/resources/component-org/`)。 3. **发布本地 Fat JAR** 替换现场旧包 —— 收敛 **MISSING_DEPLOY 18**;操作清单见 `**[2026-05-06-component-org-release-checklist.md](./2026-05-06-component-org-release-checklist.md)`**。 4. **DIFFERENT 22** —— 按业务验收决定是否接受(仓库超前)或回源。 5. **lib 清单** —— 仅作辅助;以 **运行时验证** 为准。 --- **关联文档:** `[2026-05-06-component-org-full-java-audit-and-remediation.md](./2026-05-06-component-org-full-java-audit-and-remediation.md)`(P0~P2 执行记录与 Starter 补源码)。