- backend/: 13 Maven modules (cw-elevator-application, cloudwalk-cloud, intelligent-cwoscomponent, ninca-crk, etc.) - frontend/: 4 Vue projects (elevator-front, cwos-portal, alarm-front, front_acs) + decompiled + scripts - scripts/: build, test-env, tools (Docker Compose, service templates, API parity) - docs/: AGENTS.md, superpowers specs, architecture docs - .gitignore: standard Java/Maven exclusions Moved from legacy maven-*/ root layout to backend/ organized structure.
5.9 KiB
组织组件:源码与现场旧部署包 — 延续审核摘要
日期: 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. 下一步(按风险)
Data JAR 补齐 Mapper XML(§4 已完成)。*Interface(已从现场 interface JAR 回填至component-org/messages.properties**cwos-component-organization-interface/src/main/resources/component-org/)。- 发布本地 Fat JAR 替换现场旧包 —— 收敛 MISSING_DEPLOY 18;操作清单见
**[2026-05-06-component-org-release-checklist.md](./2026-05-06-component-org-release-checklist.md)**。 - DIFFERENT 22 —— 按业务验收决定是否接受(仓库超前)或回源。
- 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 补源码)。