# 组织组件:全量 Java 文件 vs 部署包 javap 核对报告 - **反应堆:** `/media/zebra/9e8fa357-7db6-4d70-88ed-d5de5a059a663/星河湾星中星/源码/maven-ninca-common-component-organization` - **部署解压:** `/media/zebra/9e8fa357-7db6-4d70-88ed-d5de5a059a663/星河湾星中星/部署包/ninca_common_component_organization_01-ninca_common_component_organization/ninca-common-component-organization-V2.9.2_20210730` - **范围:** 仅 `src/main/java`(与 Fat JAR 生产字节码对齐) - **核对方式:** 每个 `*.java` 推导顶层 FQN,`javap -p` 与部署 classpath / 本地 `target/classes` 对比。 ## 1. 汇总 | 状态 | 数量 | |------|------| | DIFFERENT | 10 | | IDENTICAL | 577 | | MISSING_DEPLOY_JAVAP | 18 | - **部署包中存在、源码树无对应 `.java` 的顶层类型(估):** 0 个(见附录 B)。 ## 2. 解决方案与处置建议(按现象) ### 2.1 `DIFFERENT`(签名不一致) - **含义:** 同 FQN 下,现场 JAR 与当前编译产物的 **字段/方法列表等对外形状** 不一致(含编译器生成的 synthetic/lambda 差异)。 - **建议:** 1. 以业务为准明确「权威版本」:若现场为基线,则 **检出与现场一致源码** 或在 CI 中 **与现场 JAR 做契约测试**;若仓库为权威,则 **升版发布** 替换现场。 2. 对差异类做 **关键路径回归**(人员/图库/设备同步 API)。 3. 对纯 lambda/synthetic 差异可辅以 **`javap -c` 抽样** 判断是否仅为编译差异。 **本仓 DIFFERENT 数量:** 10(完整列表见 JSON `rows` 或下表节选)。 ### 2.2 `MISSING_DEPLOY_JAVAP` - **含义:** 本地可 `javap`,部署 classpath 中 **找不到该类**(多为 **仓库新增类**,现场包尚未包含)。 - **建议:** 纳入发布变更说明,**部署新 Fat JAR** 或通过配置开关控制新功能。 **数量:** 18 ### 2.3 `MISSING_LOCAL_JAVAP` - **含义:** 源码存在但 **未编译进 target/classes**(工程错误、条件编译、或 `package-info` 等特殊文件)。 - **建议:** `mvn clean compile`;检查模块归属;`package-info` 可忽略或单独标注。 **数量:** 0 ### 2.4 附录 B:部署侧多出类型 - **含义:** 现场 JAR 内含 **Starter 配置类、生成器、旧版独占类等**,当前仓库 **未以 `.java` 形式收录**(尤其 `cwos-component-organization-starter` 仅保留 `OrganizationServer`)。 - **建议:** 从现场 Fat JAR **反编译或回收历史分支** 补齐 Starter 与缺失资源(MyBatis XML、`component-org/messages*.properties`),使仓库可 **重现现场构建**。 ## 3. DIFFERENT / MISSING 文件表(全量) | 状态 | FQN | 文件 | |------|-----|------| | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.data.organization.entity.TenantVisitorFloorPolicy` | `cwos-component-organization-data/src/main/java/cn/cloudwalk/data/organization/entity/TenantVisitorFloorPolicy.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.data.organization.mapper.TenantVisitorFloorPolicyMapper` | `cwos-component-organization-data/src/main/java/cn/cloudwalk/data/organization/mapper/TenantVisitorFloorPolicyMapper.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.service.organization.config.GroupPersonSynExecutorConfiguration` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/config/GroupPersonSynExecutorConfiguration.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.service.organization.config.GroupPersonSynPoolProperties` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/config/GroupPersonSynPoolProperties.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.service.organization.config.OrganizationRedisLuaConfiguration` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/config/OrganizationRedisLuaConfiguration.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.service.organization.policy.TenantVisitorFloorPolicyService` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/policy/TenantVisitorFloorPolicyService.java` | | DIFFERENT | `cn.cloudwalk.service.organization.service.CpDeviceImagePersonServiceImpl` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/CpDeviceImagePersonServiceImpl.java` | | DIFFERENT | `cn.cloudwalk.service.organization.service.CpImageStorePersonManager` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/CpImageStorePersonManager.java` | | DIFFERENT | `cn.cloudwalk.service.organization.service.CpImageStorePersonSynManager` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/CpImageStorePersonSynManager.java` | | DIFFERENT | `cn.cloudwalk.service.organization.service.CpImageStorePersonValidateManager` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/CpImageStorePersonValidateManager.java` | | DIFFERENT | `cn.cloudwalk.service.organization.service.CpImageStoreServiceImpl` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/CpImageStoreServiceImpl.java` | | DIFFERENT | `cn.cloudwalk.service.organization.service.CpImageStoreToolServiceImpl` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/CpImageStoreToolServiceImpl.java` | | DIFFERENT | `cn.cloudwalk.service.organization.service.DevicePersonSyncManager` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/DevicePersonSyncManager.java` | | DIFFERENT | `cn.cloudwalk.service.organization.service.DevicePersonSyncServiceImpl` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/DevicePersonSyncServiceImpl.java` | | DIFFERENT | `cn.cloudwalk.service.organization.service.ImgPersonServiceImpl` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/ImgPersonServiceImpl.java` | | DIFFERENT | `cn.cloudwalk.service.organization.service.OrganizationServiceImpl` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/OrganizationServiceImpl.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.service.organization.service.corp.feign.EnterpriseFeignClientFallback` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/corp/feign/EnterpriseFeignClientFallback.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.service.organization.service.feign.CrkAccessFeignClientFallback` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/feign/CrkAccessFeignClientFallback.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.service.organization.service.feign.DeviceAppFeignClientFallback` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/feign/DeviceAppFeignClientFallback.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.service.organization.service.feign.DistrictFeignClientFallback` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/feign/DistrictFeignClientFallback.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.service.organization.service.feign.ElevatorAppFeignClientFallback` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/feign/ElevatorAppFeignClientFallback.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.service.organization.service.feign.ElevatorFeignClientFallback` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/feign/ElevatorFeignClientFallback.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.service.organization.service.feign.ImageStoreSyncClientFallback` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/feign/ImageStoreSyncClientFallback.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.service.organization.service.feign.MessageCenterFeignClientFallback` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/feign/MessageCenterFeignClientFallback.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.service.organization.service.feign.PineappleEngineClientFallBack` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/feign/PineappleEngineClientFallBack.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.service.organization.service.feign.SysLogFeignClientFallback` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/feign/SysLogFeignClientFallback.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.service.organization.service.feign.UserFeignClientFallback` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/feign/UserFeignClientFallback.java` | | MISSING_DEPLOY_JAVAP | `cn.cloudwalk.service.organization.service.feign.VehicleFeignClientFallback` | `cwos-component-organization-service/src/main/java/cn/cloudwalk/service/organization/service/feign/VehicleFeignClientFallback.java` | ## 4. 附录 A:IDENTICAL 统计 - 与部署 `javap` **完全一致** 的顶层类数量:**577**(明细见 JSON)。 ## 5. 附录 B:部署包顶层类型(源码无同名 `.java` 路径推导)节选