Files
starRiverProperty/docs/superpowers/data/2026-05-06-component-org-source-vs-deploy-continued-audit.md
hpd840321 7b2bd307f1 Initial commit: reorganized source tree
- 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.
2026-05-09 09:56:45 +08:00

5.9 KiB
Raw Permalink Blame History

组织组件:源码与现场旧部署包 — 延续审核摘要

日期: 2026-05-06
对照对象:

  • 源码构建: maven-ninca-common-component-organizationJDK 8mvn 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.pysrc/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.jarcloudwalk-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 补源码)。