From 187a0060243d5b0fc6354da7d6cb2f0ab74c6613 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=8D=E7=BC=96=E8=AF=91=E5=B7=A5=E4=BD=9C=E5=8C=BA?= Date: Fri, 24 Apr 2026 23:49:37 +0800 Subject: [PATCH] =?UTF-8?q?docs(v0.11):=20=E5=90=8C=E6=AD=A5=20Maven=20?= =?UTF-8?q?=E8=81=9A=E5=90=88=E8=AF=B4=E6=98=8E=E4=B8=8E=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E7=BC=96=E8=AF=91=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made-with: Cursor --- .../architecture/Maven工作区子工程版本一览.md | 143 +++++++++++++++++- docs/architecture/Maven聚合工程说明.md | 106 ++++++++++++- docs/build/本地编译说明.md | 142 ++++++++++++++++- 3 files changed, 378 insertions(+), 13 deletions(-) diff --git a/docs/architecture/Maven工作区子工程版本一览.md b/docs/architecture/Maven工作区子工程版本一览.md index f1bf8918..10ba0088 100644 --- a/docs/architecture/Maven工作区子工程版本一览.md +++ b/docs/architecture/Maven工作区子工程版本一览.md @@ -1,6 +1,6 @@ # Maven 工作区子工程版本一览 -> **范围**:`/media/zebra/9e8fa357-7db6-4d70-88ed-d5de5a059a663/星河湾星中星/反编译` 下全部 `pom.xml`(共 **5** 个聚合工程、**17** 个 `pom.xml` 文件)。 +> **范围**:`/media/zebra/9e8fa357-7db6-4d70-88ed-d5de5a059a663/星河湾星中星/反编译` 下 `maven-*` 目录内全部 `pom.xml`(**主聚合工程 5 个 + 补充反应堆 7 个**,合计 **44** 个 `pom.xml` 文件)。 > **说明**:子模块未单独声明 `` 时,与**反应堆(reactor)父 POM** 的 `` 一致。 > **生成方式**:走查各 `pom.xml` 的 `parent`、`groupId`、`artifactId`、`version`、`properties` 关键项。 > **版本演进(主版本升级)**:相对历史反编译/私服线,本工作区工程坐标已整体抬升主版本号以便区分 —— 电梯 **2.0-SNAPSHOT**、intelligent **3.0.0-xinghewan**、cloudwalk-cloud **4.0.0-Brussels-SRX**、ninca-crk **2.0.0**、ninca-qk-alarm **1.0.0-SNAPSHOT**;`cloudwalk.internal.version` 与 intelligent 依赖属性已同步。 @@ -9,6 +9,8 @@ ## 1. 聚合工程总表 +### 1.1 主链(业务五工程) + | 工程目录 | 反应堆 `groupId` | 反应堆 `artifactId` | **工程版本** | **Spring Boot parent** | Spring Cloud(属性) | |----------|------------------|----------------------|--------------|------------------------|----------------------| | `maven-cw-elevator-application/` | `cn.cloudwalk.elevator` | `cw-elevator-application-reactor` | **`2.0-SNAPSHOT`** | `2.1.18.RELEASE` | 见反应堆 `pom.xml`(与 Boot 2.1 栈配套) | @@ -17,6 +19,18 @@ | `maven-ninca-crk/` | `cn.cloudwalk.ninca` | `ninca-crk-reactor` | **`2.0.0`** | **`1.5.22.RELEASE`** | **`Edgware.SR6`** | | `maven-ninca-qk-alarm/` | `cn.cloudwalk.ninca` | `ninca-qk-alarm-reactor` | **`1.0.0-SNAPSHOT`** | `2.1.18.RELEASE` | (反应堆未统一声明 spring-cloud BOM,以依赖为准) | +### 1.2 补充反应堆(私服缺父 POM 时本地 install) + +| 工程目录 | 反应堆 / 父 `artifactId` | 版本 | 说明 | +|----------|---------------------------|------|------| +| `maven-cloudwalk-device-sdk/` | `cloudwalk-device-sdk`(`cn.cloudwalk`) | **`2.2.0`** | 子模块 **`cloudwalk-device-sdk-protocol-entity`**;与 intelligent 中 **`cloudwalk.device.sdk.version`** 一致。 | +| `maven-cloudwalk-device-manager/` | `cloudwalk-device-manager`(`cn.cloudwalk.cloud`) | **`2.0.2`** | 子模块 **`cloudwalk-device-manager-common`**、**`cloudwalk-device-manager-interface`**;依赖 **`cloudwalk-common-result:3.7.2-Brussels-SRX`**(须先 **`maven-cloudwalk-legacy-public`**)。 | +| `maven-cloudwalk-legacy-public/` | `cloudwalk-legacy-public-reactor`(`cn.cloudwalk.cloud`) | **`1.0.0-SNAPSHOT`** | 安装 **`cloudwalk-cloud-common:3.7.2-Brussels-SRX`**、**`cloudwalk-common-result`/`web`/`serial`**、**`cwos-sdk-event:1.5.0-SNAPSHOT`**、**`cloudwalk-intelligent-component-lock:1.1.1-SNAPSHOT`**;源码来自 **`反1/*.jar.src.zip`**。 | +| `maven-cwos-resource/` | `cwos-resource-reactor`(`cn.cloudwalk.cloud`) | **`1.0.0-SNAPSHOT`** | 含 **`cwos-component-resource`**、**`cwos-portal`** 父 POM、**`cwos-java-sdk-resource`**、**`cwos-device-pkg-stub`** 等;与电梯 **`cwos.sdk.resource.version`** 对齐。 | +| `maven-cloudwalk-intelligent-davinci-manager/` | `cloudwalk-intelligent-davinci-manager`(`cn.cloudwalk.intelligent`) | **`1.1.7-SNAPSHOT`** | 子模块 **`davinci-manager-common`**、**`davinci-manager-storage`**;与电梯 **`davinci.manager.storage.version`** 一致。 | +| `maven-cwos-common-aks/` | **`cwos-common-aks`**(`cn.cloudwalk.cloud`) | **`1.0.0-SNAPSHOT`** | 子模块 **`cwos-common-aks-interface`**;与 **`cw_lib`** / **`反1`** 对齐;须先 **`maven-cloudwalk-legacy-public`**(**`cloudwalk-common-result`**)。 | +| `maven-cwos-device-authentication/` | **`cwos-device-authentication`**(`cn.cloudwalk.cloud`) | **`1.0.0-SNAPSHOT`** | 子模块 **`cwos-device-authentication-interface`**;依赖 **device-sdk**、**device-manager**、**`maven-cloudwalk-cloud`**(**`cloudwalk-common-service`**)、**`cwos-common-aks-interface`**;须在 **`maven-cwos-common-aks`** 与 **`maven-cloudwalk-cloud`** 之后 install。 | + --- ## 2. 按工程展开:子模块坐标与版本 @@ -83,24 +97,143 @@ --- +### 2.6 `maven-cloudwalk-device-sdk`(设备 SDK 父链) + +| 模块路径 | `artifactId` | 版本 | 父 POM | +|----------|----------------|------|--------| +| 根 | `cloudwalk-device-sdk` | **2.2.0** | `spring-boot-starter-parent` **2.1.18.RELEASE** | +| `cloudwalk-device-sdk-protocol-entity/` | `cloudwalk-device-sdk-protocol-entity` | **2.2.0**(继承) | `cloudwalk-device-sdk`(`../pom.xml`) | + +--- + +### 2.6b `maven-cloudwalk-device-manager`(设备管理 common / interface) + +| 模块路径 | `artifactId` | 版本 | 父 POM | +|----------|----------------|------|--------| +| 根 | `cloudwalk-device-manager` | **2.0.2** | `spring-boot-starter-parent` **2.1.18.RELEASE** | +| `cloudwalk-device-manager-common/` | `cloudwalk-device-manager-common` | **2.0.2**(继承) | `cloudwalk-device-manager`(`../pom.xml`) | +| `cloudwalk-device-manager-interface/` | `cloudwalk-device-manager-interface` | **2.0.2**(继承) | `cloudwalk-device-manager`(`../pom.xml`) | + +**反应堆内常用属性(节选)**:`cloudwalk.common.result.version` **3.7.2-Brussels-SRX**(与 **`maven-cloudwalk-legacy-public`** 中 **`cloudwalk-common-result`** 一致)。 + +--- + +### 2.7 `maven-cwos-resource`(CWOS 资源 / 门户 / SDK) + +| 模块路径 | `artifactId` | 版本 | 父 POM | +|----------|----------------|------|--------| +| 根 | `cwos-resource-reactor` | **1.0.0-SNAPSHOT** | `spring-boot-starter-parent` **2.1.18.RELEASE** | +| `cwos-component-resource/` | `cwos-component-resource` | **1.0.0-SNAPSHOT** | `spring-boot-starter-parent` **2.1.18.RELEASE** | +| `cwos-component-resource-data/` | `cwos-component-resource-data` | **1.0.0-SNAPSHOT**(继承) | `cwos-component-resource` | +| `cwos-component-resource-interface/` | `cwos-component-resource-interface` | **1.0.0-SNAPSHOT**(继承) | `cwos-component-resource` | +| `cwos-device-pkg-stub/` | `cwos-device-pkg-stub` | **1.0.0-SNAPSHOT**(继承) | `cwos-resource-reactor` | +| `cwos-portal/` | `cwos-portal` | **1.0.0-SNAPSHOT** | `spring-boot-starter-parent` **2.1.18.RELEASE** | +| `cwos-portal-interface/` | `cwos-portal-interface` | **1.0.0-SNAPSHOT**(继承) | `cwos-portal` | +| `cwos-java-sdk-resource/` | `cwos-java-sdk-resource` | **1.0.0-SNAPSHOT**(继承) | `cwos-resource-reactor` | + +**反应堆内常用属性(节选)**:`spring-cloud.version` **Greenwich.SR6**;`cloudwalk.legacy.public.version` **3.7.2-Brussels-SRX**;`mybatis.version` **3.5.6**。 + +--- + +### 2.8 `maven-cloudwalk-intelligent-davinci-manager`(Davinci 存储) + +| 模块路径 | `artifactId` | 版本 | 父 POM | +|----------|----------------|------|--------| +| 根 | `cloudwalk-intelligent-davinci-manager` | **1.1.7-SNAPSHOT** | `spring-boot-starter-parent` **2.1.18.RELEASE** | +| `davinci-manager-common/` | `davinci-manager-common` | **1.1.7-SNAPSHOT**(继承) | `cloudwalk-intelligent-davinci-manager`(`../pom.xml`) | +| `davinci-manager-storage/` | `davinci-manager-storage` | **1.1.7-SNAPSHOT**(继承) | `cloudwalk-intelligent-davinci-manager`(`../pom.xml`) | + +**反应堆内常用属性(节选)**:`spring-cloud.version` **Greenwich.SR6**;`feign-form.version` **3.0.3**;`commons-io.version` **2.5**。 + +--- + +### 2.9 `maven-cloudwalk-legacy-public`(反1 公共线) + +| 模块路径 | `artifactId` | 版本 | 父 POM | +|----------|----------------|------|--------| +| 根 | `cloudwalk-legacy-public-reactor` | **1.0.0-SNAPSHOT** | (无 Spring parent,聚合 `pom`) | +| `cloudwalk-cloud-common/` | `cloudwalk-cloud-common` | **3.7.2-Brussels-SRX** | `spring-boot-starter-parent` **1.5.22.RELEASE** | +| `cloudwalk-common-result/` | `cloudwalk-common-result` | **3.7.2-Brussels-SRX**(继承) | `cloudwalk-cloud-common` | +| `cloudwalk-common-web/` | `cloudwalk-common-web` | **3.7.2-Brussels-SRX**(继承) | `cloudwalk-cloud-common` | +| `cloudwalk-common-serial/` | `cloudwalk-common-serial` | **3.7.2-Brussels-SRX**(继承) | `cloudwalk-cloud-common` | +| `cwos-sdk-event/` | `cwos-sdk-event` | **1.5.0-SNAPSHOT** | `spring-boot-starter-parent` **2.1.18.RELEASE** | +| `cloudwalk-intelligent-component-lock/` | `cloudwalk-intelligent-component-lock` | **1.1.1-SNAPSHOT** | `spring-boot-starter-parent` **2.1.18.RELEASE** | + +--- + +### 2.10 `maven-cwos-common-aks`(AKS 公共接口) + +| 模块路径 | `artifactId` | 版本 | 父 POM | +|----------|----------------|------|--------| +| 根 | `cwos-common-aks` | **1.0.0-SNAPSHOT** | `spring-boot-starter-parent` **2.1.18.RELEASE** | +| `cwos-common-aks-interface/` | `cwos-common-aks-interface` | **1.0.0-SNAPSHOT**(继承) | `cwos-common-aks`(`../pom.xml`) | + +**反应堆内常用属性(节选)**:`cloudwalk.legacy.public.version` **3.7.2-Brussels-SRX**;`fastjson.version` **1.2.83**。 + +--- + +### 2.11 `maven-cwos-device-authentication`(设备认证 interface) + +| 模块路径 | `artifactId` | 版本 | 父 POM | +|----------|----------------|------|--------| +| 根 | `cwos-device-authentication` | **1.0.0-SNAPSHOT** | `spring-boot-starter-parent` **2.1.18.RELEASE** | +| `cwos-device-authentication-interface/` | `cwos-device-authentication-interface` | **1.0.0-SNAPSHOT**(继承) | `cwos-device-authentication`(`../pom.xml`) | + +**反应堆内常用属性(节选)**:`cloudwalk-common.version` **3.7.2-Brussels-SRX**;`cloudwalk-device.version` **2.0.2**;`cloudwalk-aks.version` **1.0.0-SNAPSHOT**;`cloudwalk.device.sdk.version` **2.2.0**;`fastjson.version` **1.2.83**。 + +--- + ## 3. 跨工程对齐关系(便于联调) | 概念 | 常见取值 | 出现在 | |------|----------|--------| | 云从内部线版本 | **4.0.0-Brussels-SRX** | 电梯、intelligent、cloudwalk-cloud、ninca-crk、ninca-qk-alarm 的 `cloudwalk.internal.version` 等 | | intelligent 组件线 | **3.0.0-xinghewan** | intelligent 反应堆;电梯 `intelligent.cwoscomponent.version`;ninca-crk `intelligent.cwoscomponent.rest.version` | +| 设备 SDK 协议实体 | **2.2.0** | intelligent `cloudwalk.device.sdk.version`;**`maven-cloudwalk-device-sdk`** 反应堆版本 | +| 设备管理 common/interface | **2.0.2** | **`maven-cloudwalk-device-manager`**;依赖 **`cloudwalk-common-result` 3.7.2**(**`maven-cloudwalk-legacy-public`**) | +| AKS / 设备认证 interface | **1.0.0-SNAPSHOT** | **`maven-cwos-common-aks`**(**`cwos-common-aks-interface`**)、**`maven-cwos-device-authentication`**(**`cwos-device-authentication-interface`**);与 **`cw_lib`** 同名 JAR 对齐;**device-authentication** 另依赖 **`cloudwalk-common-service`**(**`maven-cloudwalk-cloud`**)、**device-manager-interface**、**protocol-entity** | +| CWOS Java SDK 资源 | **1.0.0-SNAPSHOT** | 电梯 `cwos.sdk.resource.version`;**`maven-cwos-resource`** 中 **`cwos-java-sdk-resource`** 等 | +| Davinci 存储 | **1.1.7-SNAPSHOT** | 电梯 `davinci.manager.storage.version`;**`maven-cloudwalk-intelligent-davinci-manager`** 中 **`davinci-manager-storage`** | +| 反1 公共线(legacy) | **3.7.2 / 1.5.0-SNAPSHOT / 1.1.1-SNAPSHOT** | **`maven-cloudwalk-legacy-public`**:`common-result`/`web`/`serial`、`cwos-sdk-event`、`component-lock`;与 **`cloudwalk.legacy.public.version`**、**`cwos.sdk.event.version`**、**`intelligent.lock.version`** 对齐 | | Spring Boot 主线 | **2.1.18.RELEASE** | 电梯、intelligent、cloudwalk-cloud、ninca-qk-alarm | | Spring Boot 旧线 | **1.5.22.RELEASE** | **仅 ninca-crk** | --- -## 4. `pom.xml` 物理路径清单(17) +## 4. `pom.xml` 物理路径清单(44) ``` maven-cloudwalk-cloud/pom.xml maven-cloudwalk-cloud/cloudwalk-cloud-common/pom.xml maven-cloudwalk-cloud/cloudwalk-common-event/pom.xml maven-cloudwalk-cloud/cloudwalk-common-service/pom.xml +maven-cloudwalk-device-sdk/pom.xml +maven-cloudwalk-device-sdk/cloudwalk-device-sdk-protocol-entity/pom.xml +maven-cloudwalk-device-manager/pom.xml +maven-cloudwalk-device-manager/cloudwalk-device-manager-common/pom.xml +maven-cloudwalk-device-manager/cloudwalk-device-manager-interface/pom.xml +maven-cloudwalk-legacy-public/pom.xml +maven-cloudwalk-legacy-public/cloudwalk-cloud-common/pom.xml +maven-cloudwalk-legacy-public/cloudwalk-common-result/pom.xml +maven-cloudwalk-legacy-public/cloudwalk-common-web/pom.xml +maven-cloudwalk-legacy-public/cloudwalk-common-serial/pom.xml +maven-cloudwalk-legacy-public/cwos-sdk-event/pom.xml +maven-cloudwalk-legacy-public/cloudwalk-intelligent-component-lock/pom.xml +maven-cloudwalk-intelligent-davinci-manager/pom.xml +maven-cloudwalk-intelligent-davinci-manager/davinci-manager-common/pom.xml +maven-cloudwalk-intelligent-davinci-manager/davinci-manager-storage/pom.xml +maven-cwos-resource/pom.xml +maven-cwos-resource/cwos-component-resource/pom.xml +maven-cwos-resource/cwos-component-resource-data/pom.xml +maven-cwos-resource/cwos-component-resource-interface/pom.xml +maven-cwos-resource/cwos-device-pkg-stub/pom.xml +maven-cwos-resource/cwos-portal/pom.xml +maven-cwos-resource/cwos-portal-interface/pom.xml +maven-cwos-resource/cwos-java-sdk-resource/pom.xml +maven-cwos-common-aks/pom.xml +maven-cwos-common-aks/cwos-common-aks-interface/pom.xml +maven-cwos-device-authentication/pom.xml +maven-cwos-device-authentication/cwos-device-authentication-interface/pom.xml maven-cw-elevator-application/pom.xml maven-cw-elevator-application/cw-elevator-application-common/pom.xml maven-cw-elevator-application/cw-elevator-application-data/pom.xml @@ -133,6 +266,12 @@ maven-ninca-qk-alarm/ninca-qk-alarm-app-starter/pom.xml | 2026-04-24 | 初稿:工作区 `pom` 走查 | | 2026-04-24 | **主版本升级**(与历史反编译/私服坐标区分):电梯 **2.0-SNAPSHOT**、intelligent **3.0.0-xinghewan**、cloudwalk-cloud **4.0.0-Brussels-SRX**、ninca-crk **2.0.0**、ninca-qk-alarm **1.0.0-SNAPSHOT**;`cloudwalk.internal.version`、电梯与 ninca-crk 中 intelligent 属性已对齐 | | 2026-04-24 | **`cloudwalk.legacy.public.version`(3.7.2-Brussels-SRX)**:私服未发布新主版本的 `cloudwalk-common-result` / `web` / `serial` 时,与反应堆 **4.0.0** 解耦;本地编译说明见 [docs/build/本地编译说明.md](../build/本地编译说明.md) | +| 2026-04-24 | 补充反应堆 **`maven-cloudwalk-device-sdk`**(`cloudwalk-device-sdk` **2.2.0**)、**`maven-cwos-resource`**(CWOS 资源/门户/SDK);`pom` 总数 **17 → 27**;编译顺序见 [本地编译说明.md](../build/本地编译说明.md) §3 | +| 2026-04-24 | 补充反应堆 **`maven-cloudwalk-intelligent-davinci-manager`**(**`cloudwalk-intelligent-davinci-manager` 1.1.7-SNAPSHOT**、`davinci-manager-common`、`davinci-manager-storage`);`pom` 总数 **27 → 30**;编译顺序见 [本地编译说明.md](../build/本地编译说明.md) §3 | +| 2026-04-24 | 补充反应堆 **`maven-cloudwalk-legacy-public`**(**`反1`**:`cloudwalk-cloud-common` **3.7.2**、`common-result`/`web`/`serial`、**`cwos-sdk-event`**、**`component-lock`**);`pom` 总数 **30 → 37**;须在 **`maven-cloudwalk-cloud`** 之前 install;见 [本地编译说明.md](../build/本地编译说明.md) §3 | +| 2026-04-24 | 补充反应堆 **`maven-cloudwalk-device-manager`**(**`cloudwalk-device-manager` 2.0.2**、**common**、**interface**;**`反1`** zip);`pom` 总数 **37 → 40**;须在 **`maven-cloudwalk-legacy-public`** 之后 install;见 [本地编译说明.md](../build/本地编译说明.md) §3 | +| 2026-04-24 | 补充反应堆 **`maven-cwos-common-aks`**、**`maven-cwos-device-authentication`**(**`反1`**:`cwos-common-aks-interface`、`cwos-device-authentication-interface`);`pom` 总数 **40 → 44**;**device-authentication** 须在 **`maven-cloudwalk-cloud`** 与 **`maven-cwos-common-aks`** 之后 install;见 [本地编译说明.md](../build/本地编译说明.md) §3 | +| 2026-04-24 | **`intelligent-cwoscomponent-rest`**:`FeignClient` 由 **`org.springframework.cloud.netflix.feign`** 改为 **`org.springframework.cloud.openfeign`**,与 **Greenwich + `spring-cloud-starter-openfeign`** 一致 | --- diff --git a/docs/architecture/Maven聚合工程说明.md b/docs/architecture/Maven聚合工程说明.md index 1ada94ef..475fd66f 100644 --- a/docs/architecture/Maven聚合工程说明.md +++ b/docs/architecture/Maven聚合工程说明.md @@ -1,7 +1,7 @@ # Maven 聚合工程说明(starRiverProperty) -> **适用范围**:本仓库根目录下五个以 `maven-` 为前缀的 **Maven Reactor(聚合父工程)**,用于本地编译、走查与增量修改。 -> **不适用范围**:各工程依赖的大量 **NINCA / 云从内部 JAR** 仍须通过 Nexus 等私服解析,本文仅描述**本仓库内可见的模块边界与协作关系**。 +> **适用范围**:本仓库根目录下以 `maven-` 为前缀的 **Maven Reactor**:其中 **五个** 为主业务聚合工程;另有 **七个** 补充反应堆(`maven-cloudwalk-device-sdk`、`maven-cloudwalk-device-manager`、`maven-cwos-resource`、`maven-cloudwalk-intelligent-davinci-manager`、**`maven-cloudwalk-legacy-public`**、**`maven-cwos-common-aks`**、**`maven-cwos-device-authentication`**)用于在私服缺父 POM 或缺历史公共 JAR 时 **本地 `install` 闭合** `cloudwalk-device-sdk`、`cloudwalk-device-manager`、`cwos-component-resource`、`cwos-portal`、`cwos-java-sdk-resource`、**`cloudwalk-intelligent-davinci-manager` / `davinci-manager-storage`**、**`cloudwalk-common-result` / `web` / `serial`(3.7.2)**、**`cwos-sdk-event`**、**`cloudwalk-intelligent-component-lock`**、**`cwos-common-aks` / `cwos-device-authentication`** 等坐标(**`反1/`** 下对应 `*.jar.src.zip` 已接入各反应堆)。 +> **不适用范围**:各工程依赖的 **NINCA / 云从内部** 等大量 JAR 仍多须 Nexus 解析;本文描述**本仓库内可见的模块边界与协作关系**,补充反应堆仅覆盖文档化缺口中的一段。 --- @@ -13,7 +13,9 @@ --- -## 2. 五工程一览 +## 2. 工程一览 + +### 2.1 主业务五工程 | 仓库目录 | 聚合 artifactId(父 POM) | `groupId` | 版本(父 POM) | 子模块(`modules`) | |----------|---------------------------|-----------|----------------|----------------------| @@ -23,6 +25,18 @@ | `maven-ninca-crk/` | `ninca-crk-reactor` | `cn.cloudwalk.ninca` | `2.0.0` | `ninca-crk-gpu-std` | | `maven-ninca-qk-alarm/` | `ninca-qk-alarm-reactor` | `cn.cloudwalk.ninca` | `1.0.0-SNAPSHOT` | `ninca-qk-alarm-app-starter`(其下再含 web / interface 等子模块) | +### 2.2 补充反应堆(编译链) + +| 仓库目录 | 说明 | +|----------|------| +| `maven-cloudwalk-device-sdk/` | 安装 **`cn.cloudwalk:cloudwalk-device-sdk:2.2.0`**(`pom`)与 **`cloudwalk-device-sdk-protocol-entity`**,供 **`maven-intelligent-cwoscomponent`** 解析 `protocol-entity` 描述符。 | +| `maven-cloudwalk-device-manager/` | 安装 **`cn.cloudwalk.cloud:cloudwalk-device-manager:2.0.2`**(`pom`)及 **`cloudwalk-device-manager-common`**、**`cloudwalk-device-manager-interface`**;依赖 **`cloudwalk-common-result:3.7.2-Brussels-SRX`**(须先 **`maven-cloudwalk-legacy-public`** `install`)。 | +| `maven-cwos-resource/` | 安装 **`cwos-component-resource`**、**`cwos-portal`** 父 POM 及 **`cwos-java-sdk-resource`** 等,供 **`cw-elevator-application-service`** 解析 `cwos-java-sdk-resource` 的传递父链。`cwos-portal-interface` 为 **裁剪 + 占位** 以闭合 SDK,详见 [本地编译说明.md](../build/本地编译说明.md) §3。 | +| `maven-cloudwalk-intelligent-davinci-manager/` | 安装 **`cn.cloudwalk.intelligent:cloudwalk-intelligent-davinci-manager:1.1.7-SNAPSHOT`**(父 `pom`)及 **`davinci-manager-common`**、**`davinci-manager-storage`**,供电梯 **`cw-elevator-application-service`** 解析 **`davinci-manager-storage`**(`davinci.manager.storage.version`)。源码基底来自历史 **1.1.5** 反编译 zip,与 V1 运行包 **1.1.7-SNAPSHOT** 坐标一致;**`SpringMvcContract` / `FeignClientsConfiguration`** 与 **Greenwich + OpenFeign** 对齐。 | +| `maven-cloudwalk-legacy-public/` | 安装 **`cn.cloudwalk.cloud:cloudwalk-cloud-common:3.7.2-Brussels-SRX`**(与 **`cloudwalk-common-result` / `web` / `serial`** 反编译 POM 的 parent 一致)、**`cwos-sdk-event:1.5.0-SNAPSHOT`**、**`cloudwalk-intelligent-component-lock:1.1.1-SNAPSHOT`**。源码自 **`反1/*.jar.src.zip`** 解压;**`cwos-sdk-event`** 已替换 **`reflections-maven`** 为 **`org.reflections:reflections`**,并修正 **`KafkaConsumer#setListenerClass`** / **`EventClient`** 的编译问题。 | +| `maven-cwos-common-aks/` | 安装 **`cn.cloudwalk.cloud:cwos-common-aks:1.0.0-SNAPSHOT`** 与 **`cwos-common-aks-interface`**;源码自 **`反1/cwos-common-aks-interface-1.0.0-SNAPSHOT.jar.src.zip`**;须先 **`maven-cloudwalk-legacy-public`**(**`cloudwalk-common-result`**)。 | +| `maven-cwos-device-authentication/` | 安装 **`cn.cloudwalk.cloud:cwos-device-authentication:1.0.0-SNAPSHOT`** 与 **`cwos-device-authentication-interface`**;源码自 **`反1/cwos-device-authentication-interface-1.0.0-SNAPSHOT.jar.src.zip`**;依赖 **device-sdk**、**device-manager**、**`maven-cloudwalk-cloud`**(**`cloudwalk-common-service`**)、**`cwos-common-aks-interface`**,须在上述反应堆与 **`maven-cwos-common-aks`** 之后 **`install`**。 | + > **版本说明**:上表为当前源码树反应堆版本(相对历史反编译/私服线已做**主版本号升级**,便于区分)。与 `cw-elevator-application-V1.0.0.20211103` 等**历史运行包内 JAR 文件名**不必一致,详见 `docs/build/ORIGINAL_BUILD_JDK.txt` 文首说明及 [Maven工作区子工程版本一览](Maven工作区子工程版本一览.md)。 --- @@ -131,17 +145,96 @@ --- +### 3.6 `maven-cloudwalk-device-sdk` — 设备 SDK 父 POM(协议实体) + +**定位** +私服常缺失 **`cn.cloudwalk:cloudwalk-device-sdk:2.2.0`** 父 `pom`,导致无法解析 **`cloudwalk-device-sdk-protocol-entity`**。本反应堆在本地 **`install`** 后,**`maven-intelligent-cwoscomponent`** 的 **`intelligent-cwoscomponent-interface`** 可正常解析该依赖。 + +**子模块** +- **`cloudwalk-device-sdk-protocol-entity`**:源码来自 `反1` 反编译 zip,与运行包 **2.2.0** 坐标一致。 + +--- + +### 3.7 `maven-cwos-resource` — CWOS 资源 / 门户 / Java SDK + +**定位** +补齐 **`cwos-component-resource`**、**`cwos-portal`** 父 POM 及 **`cwos-java-sdk-resource`**,使 **`cw-elevator-application-service`** 不再因私服缺 **`cwos-component-resource:pom`**、**`cwos-portal:pom`** 而失败。 + +**子模块要点** +- **`cwos-component-resource-data`** / **`cwos-component-resource-interface`**:反编译源码。 +- **`cwos-portal-interface`**:为闭合 **`cwos-java-sdk-resource`** 的编译 classpath,已 **裁剪** 非 SDK 所需包,并含 **`cwos-device-pkg-stub`**(`DeviceUpgradeResult` 占位)。 +- **`cwos-java-sdk-resource`**:Feign 注解由 **`org.springframework.cloud.netflix.feign.FeignClient`** 迁移为 **`org.springframework.cloud.openfeign.FeignClient`**,与 **Greenwich + `spring-cloud-starter-openfeign`** 一致;**`ResourceBeanConfig`** 补全缺失的 `import`。 + +--- + +### 3.8 `maven-cloudwalk-intelligent-davinci-manager` — Davinci 存储父链 + +**定位** +私服常缺失 **`cn.cloudwalk.intelligent:cloudwalk-intelligent-davinci-manager:1.1.7-SNAPSHOT`** 父 `pom`,导致无法解析 **`davinci-manager-storage`**(电梯 **`cw-elevator-application-service`** 直接依赖)。本反应堆在本地 **`install`** 后,可闭合该父链。 + +**子模块** +- **`davinci-manager-common`**:`DavinciResult`、`DavinciServiceException` 等。 +- **`davinci-manager-storage`**:文件/分片上传 Feign 与 **`FileStorageManager` / `FilePartManager`** 实现;**`io.github.openfeign:feign-okhttp`** 替代原 POM 中的 **`com.netflix.feign:feign-okhttp`**,与 **Spring Cloud Greenwich** 管理的 OpenFeign 一致。 + +--- + +### 3.9 `maven-cloudwalk-legacy-public` — 反1 私服公共线(3.7.2 + cwos-sdk-event + lock) + +**定位** +将 **`反1/`** 内 **`cloudwalk-common-*-3.7.2-Brussels-SRX.jar.src.zip`**、**`cwos-sdk-event-1.5.0-SNAPSHOT.jar.src.zip`**、**`cloudwalk-intelligent-component-lock-1.1.1-SNAPSHOT.jar.src.zip`** 解压为 Maven 子模块并 **`install`**,闭合 **`cloudwalk.legacy.public.version`**、**`cwos.sdk.event.version`**、**`intelligent.lock.version`** 等横切依赖。 + +**子模块要点** +- **`cloudwalk-cloud-common`**:**`3.7.2-Brussels-SRX`** 父 `pom`(继承 **Boot 1.5.22**);与 **`maven-cloudwalk-cloud`** 中 **4.0.0** 的 stub **`cloudwalk-cloud-common`** 为**不同版本**,勿混用。 +- **`cloudwalk-common-result`**:在反编译依赖外补 **Spring / Jackson / Joda / SLF4J / validation-api**。 +- **`cwos-sdk-event`**:**`reflections-maven`** → **`org.reflections:reflections`**;**`KafkaConsumer`** 实现 **`Consumer#setListenerClass(Class)`**;**`EventClient`** 使用 **`commons-lang3.StringUtils`**。 + +--- + +### 3.10 `maven-cloudwalk-device-manager` — 设备管理 common / interface(2.0.2) + +**定位** +私服常缺失 **`cn.cloudwalk.cloud:cloudwalk-device-manager:2.0.2`** 父 `pom`,导致无法解析 **`cloudwalk-device-manager-common`**、**`cloudwalk-device-manager-interface`**。本反应堆在本地 **`install`** 后闭合该父链。 + +**子模块** +- **`cloudwalk-device-manager-common`**、**`cloudwalk-device-manager-interface`**:源码来自 **`反1/`** 下 **`cloudwalk-device-manager-*-2.0.2.jar.src.zip`**。父 POM 将 **`cloudwalk-common-result`** 锁定为 **`3.7.2-Brussels-SRX`**(与 **`maven-cloudwalk-legacy-public`** 一致);**`hibernate-validator`** 与 **Boot 2.1.18** 栈对齐(**6.0.22.Final**)。 + +**与其它工程关系** +须在 **`maven-cloudwalk-legacy-public`** 成功 **`install`**(提供 **`cloudwalk-common-result:3.7.2`**)之后,再 **`install`** 本反应堆。 + +--- + +### 3.11 `maven-cwos-common-aks` / `maven-cwos-device-authentication` — AKS 与设备认证 interface(1.0.0-SNAPSHOT) + +**定位** +与 **`cw-elevator-application-V1.0.0.20211103/cw_lib`** 中 **`cwos-common-aks-interface`**、**`cwos-device-authentication-interface`** 同名坐标对齐;私服若缺 **`cwos-common-aks`**、**`cwos-device-authentication`** 父 POM,可在本地 **`install`** 闭合。 + +**子模块** +- **`cwos-common-aks-interface`**、**`cwos-device-authentication-interface`**:源码来自 **`反1/`** 对应 **`*.jar.src.zip`**。 +- **device-authentication** 的 **`pom`** 依赖 **`cloudwalk-common-service`**、**`cloudwalk-device-manager-interface`**、**`cwos-common-aks-interface`**、**`cloudwalk-device-sdk-protocol-entity`** 等,编译顺序见 [本地编译说明.md](../build/本地编译说明.md) §3。 + +--- + ## 4. 工程间依赖与协作(简图) 下列关系表示 **Maven 依赖 / 常见运行时调用方向**,非严格部署拓扑。 ```mermaid flowchart LR + subgraph devsdk [maven-cloudwalk-device-sdk] + PE[protocol-entity] + end + subgraph cwos [maven-cwos-resource] + SDK[cwos-java-sdk-resource] + end + subgraph davinci [maven-cloudwalk-intelligent-davinci-manager] + DMS[davinci-manager-storage] + end subgraph cloud [maven-cloudwalk-cloud] CE[cloudwalk-common-event] CS[cloudwalk-common-service] end subgraph intel [maven-intelligent-cwoscomponent] + II[intelligent-cwoscomponent-interface] IR[intelligent-cwoscomponent-rest] end subgraph elev [maven-cw-elevator-application] @@ -154,6 +247,10 @@ flowchart LR subgraph alarm [maven-ninca-qk-alarm] ST[ninca-qk-alarm-app-starter] end + PE --> II + II --> IR + SDK --> ES + DMS --> ES CE --> ES CS --> ES IR --> ES @@ -165,6 +262,7 @@ flowchart LR **文字归纳** +- **`maven-cloudwalk-device-sdk`** 为 **`intelligent-cwoscomponent-interface`** 提供 **`cloudwalk-device-sdk-protocol-entity`**;**`maven-cwos-resource`** 为 **`cw-elevator-application-service`** 提供 **`cwos-java-sdk-resource`**(及 portal/resource 父链);**`maven-cloudwalk-intelligent-davinci-manager`** 为 **`cw-elevator-application-service`** 提供 **`davinci-manager-storage`** 父链;**`maven-cloudwalk-legacy-public`** 为 **`cloudwalk-common-event`**、电梯 **common**、**`cwos-resource`** 等提供 **`cloudwalk-common-result`/`web`/`serial`(3.7.2)**、**`cwos-sdk-event`**、**`component-lock`**;**`maven-cloudwalk-device-manager`** 提供 **`cloudwalk-device-manager:2.0.2`** 及 **common/interface**(依赖前述 **`cloudwalk-common-result:3.7.2`**);**`maven-cwos-common-aks`**、**`maven-cwos-device-authentication`** 与 **`cw_lib`** 中 AKS / 设备认证 **interface** 坐标对齐(详见 §3.11)。前序 **`install`** 顺序见 [本地编译说明.md](../build/本地编译说明.md) §3。 - **电梯应用** 依赖 **公共云模块** + **智能组件 REST**,对外暴露电梯 HTTP API;智能组件再通过 Feign 回调电梯、组织等。 - **CRK GPU 标准后端** 依赖公共事件、智能组件等,与考勤/访客等 **NINCA 模块** 打成一个可部署单元(具体以 `ninca-crk-gpu-std/pom.xml` 为准)。 - **告警应用** 相对独立,主要挂 **CloudWalk Web 公共栈**。 @@ -195,5 +293,5 @@ flowchart LR ## 7. 文档维护 -- 若新增第六个聚合工程,请在本表与各节补充 **目录、artifactId、modules、与其它工程的依赖边**。 +- 若新增其它 `maven-*` 反应堆,请在本表与各节补充 **目录、artifactId、modules、与其它工程的依赖边**,并更新 [Maven工作区子工程版本一览](Maven工作区子工程版本一览.md) 与 [本地编译说明.md](../build/本地编译说明.md) §3。 - 若 Spring Boot / Cloud 版本升级,请以各 **`maven-*/pom.xml`** 为准同步更新本文「技术栈摘要」小节。 diff --git a/docs/build/本地编译说明.md b/docs/build/本地编译说明.md index 6f94eadf..e69ca057 100644 --- a/docs/build/本地编译说明.md +++ b/docs/build/本地编译说明.md @@ -18,21 +18,79 @@ java -version # 应显示 1.8.x ## 3. 推荐编译顺序(依赖链) -在仓库根下按顺序 **install**(或至少 **compile** 前序模块并 install 到本地 `~/.m2`): +在仓库根下按顺序 **install**(或至少 **compile** 前序模块并 install 到本地仓库;若使用自定义 `settings.xml` 的 `localRepository`,构件会写入该路径): -1. **`maven-cloudwalk-cloud`**:`mvn -DskipTests clean install` -2. **`maven-intelligent-cwoscomponent`**:`mvn -DskipTests clean install`(依赖 cloudwalk 与私服 `cloudwalk-device-sdk` 等) -3. **`maven-cw-elevator-application`**:`mvn -DskipTests clean install` -4. 其余:`maven-ninca-crk`、`maven-ninca-qk-alarm` 按需单独编译。 +1. **`maven-cloudwalk-device-sdk`**:`mvn -DskipTests clean install` — 提供 **`cn.cloudwalk:cloudwalk-device-sdk:2.2.0`** 父 POM 与 **`cloudwalk-device-sdk-protocol-entity`**(替代私服缺失父工程)。 +2. **`maven-cloudwalk-legacy-public`**:`mvn -DskipTests clean install` — 自 **`反1/*.jar.src.zip`** 提供 **`cloudwalk-cloud-common:3.7.2-Brussels-SRX`**、**`cloudwalk-common-result` / `web` / `serial`**、**`cwos-sdk-event:1.5.0-SNAPSHOT`**、**`cloudwalk-intelligent-component-lock:1.1.1-SNAPSHOT`**(闭合 **`cloudwalk.legacy.public.version`**、**`cwos.sdk.event`**、电梯 **lock** 等;**须在 `maven-cloudwalk-cloud` 之前**安装,以便 **`cloudwalk-common-event`** 解析 **`cwos-sdk-event`**)。 +3. **`maven-cloudwalk-device-manager`**:`mvn -DskipTests clean install` — 自 **`反1/cloudwalk-device-manager-*-2.0.2.jar.src.zip`** 提供 **`cn.cloudwalk.cloud:cloudwalk-device-manager:2.0.2`** 父 POM 与 **`cloudwalk-device-manager-common`**、**`cloudwalk-device-manager-interface`**(依赖第 2 步的 **`cloudwalk-common-result`**;**须在依赖其 interface 的其它工程之前**安装)。 +4. **`maven-cwos-resource`**:`mvn -DskipTests clean install` — 提供 **`cwos-component-resource`**、**`cwos-portal`** 父 POM 及 **`cwos-java-sdk-resource`** 等(替代私服缺失的 CWOS 资源/门户父链)。 +5. **`maven-cloudwalk-intelligent-davinci-manager`**:`mvn -DskipTests clean install` — 提供 **`cn.cloudwalk.intelligent:cloudwalk-intelligent-davinci-manager:1.1.7-SNAPSHOT`** 父 POM 与 **`davinci-manager-common`**、**`davinci-manager-storage`**(替代私服缺失的 Davinci 父链;与电梯 **`davinci.manager.storage.version`** 对齐)。 +6. **`maven-cloudwalk-cloud`**:`mvn -DskipTests clean install` — 提供 **`cloudwalk-common-event`**、**`cloudwalk-common-service`** 等(**`maven-cwos-device-authentication`** 依赖 **`cloudwalk-common-service`**,故 **aks / device-authentication 须排在本步之后**)。 +7. **`maven-cwos-common-aks`**:`mvn -DskipTests clean install` — 自 **`反1/cwos-common-aks-interface-1.0.0-SNAPSHOT.jar.src.zip`** 提供 **`cn.cloudwalk.cloud:cwos-common-aks:1.0.0-SNAPSHOT`** 与 **`cwos-common-aks-interface`**(依赖第 2 步 **`cloudwalk-common-result`**)。 +8. **`maven-cwos-device-authentication`**:`mvn -DskipTests clean install` — 自 **`反1/cwos-device-authentication-interface-1.0.0-SNAPSHOT.jar.src.zip`** 提供 **`cn.cloudwalk.cloud:cwos-device-authentication:1.0.0-SNAPSHOT`** 与 **`cwos-device-authentication-interface`**(依赖第 1、3、6、7 步及 **`cwos-common-aks-interface`**)。 +9. **`maven-intelligent-cwoscomponent`**:`mvn -DskipTests clean install`(依赖第 1 步的 **protocol-entity** 与 cloudwalk 模块) +10. **`maven-cw-elevator-application`**:`mvn -DskipTests clean install`(`service` 若仍失败,多为其它私服构件或业务源码问题,见下文) +11. 其余:`maven-ninca-crk`、`maven-ninca-qk-alarm` 按需单独编译。 单工程示例: ```bash -cd maven-cloudwalk-cloud && mvn -DskipTests clean install +cd maven-cloudwalk-device-sdk && mvn -DskipTests clean install +cd ../maven-cloudwalk-legacy-public && mvn -DskipTests clean install +cd ../maven-cloudwalk-device-manager && mvn -DskipTests clean install +cd ../maven-cwos-resource && mvn -DskipTests clean install +cd ../maven-cloudwalk-intelligent-davinci-manager && mvn -DskipTests clean install +cd ../maven-cloudwalk-cloud && mvn -DskipTests clean install +cd ../maven-cwos-common-aks && mvn -DskipTests clean install +cd ../maven-cwos-device-authentication && mvn -DskipTests clean install cd ../maven-intelligent-cwoscomponent && mvn -DskipTests clean install cd ../maven-cw-elevator-application && mvn -DskipTests clean compile ``` +**说明**:`maven-cwos-resource` 内 **`cwos-portal-interface`** 已按 **`cwos-java-sdk-resource`** 实际引用面裁剪(仅保留 `common`/`enterprise`/`user` 等与 SDK 相关的包),并含 **`cwos-device-pkg-stub`** 占位 **`DeviceUpgradeResult`**;与线上一致「全量 portal 接口」不等价,仅用于 **本地编译闭合**。 + +**与 `cw_lib` 的 outer 类对照**:可用仓库根目录下 **`scripts/compare_jar_to_sources.py`**(参数为 **`cw-elevator-application-V1.0.0.20211103/cw_lib` 中某 `.jar` 的绝对路径** + **对应 `maven-*` 子模块目录**),快速检查 JAR 内每个 outer 类是否在源码树中有同名 `.java`;**`cwos-portal-interface`** 因裁剪会出现大量「缺失」,属预期。**`package-info.java`** 可能报告为「多出的源码」,一般可忽略。 + +### `cw_lib` 审核结论摘要(outer 类级,相对 `cw-elevator-application-V1.0.0.20211103/cw_lib`) + +| 类型 | 模块 / 构件 | 结论 | 原因说明 | +|------|----------------|------|----------| +| **JAR 有类、本地缺 outer `.java`** | 除 **`cwos-portal-interface`** 外,与 `cw_lib` 成对映射的 **`maven-*` 子模块** | **未发现** | 已用脚本对 `cw_lib` 内各业务/公共 JAR 全量扫描;**仅** portal 因裁剪出现大量「缺失」。 | +| **JAR 有类、本地缺 outer `.java`** | **`maven-cwos-resource/cwos-portal-interface`** | **约 438 个 outer 类无对应 `.java`** | **有意裁剪**:仅保留 **`cwos-java-sdk-resource`** 实际引用到的包,与 **`cw_lib` 全量 `cwos-portal-interface`** 不对等;非反编译丢文件。 | +| **本地有业务类型、对应 JAR 无 outer 类** | **`cw-elevator-application-data`**:`TenantVisitorFloorPolicyDao` / `Dto` / `DaoImpl` / `Mapper` | **4 个类型仅存在于本地** | **`cw_lib` 中 `cw-elevator-application-data` / `service` JAR 均无 `TenantVisitor` 相关 `.class`**;与运行包相比,当前 Maven 源码含 **租户访客默认楼层策略** 增量(见 [租户访客默认楼层-数据库阶段变更记录.md](../business/租户访客默认楼层-数据库阶段变更记录.md)),属**业务演进**,不是「从 JAR 反编译漏解压」。 | +| **本地多 `package-info.java`** | 若干模块 | 可忽略 | JAR 未必含 `package-info.class`,脚本会将 `package-info` 记为「多出」。 | +| **占位桩** | **`cwos-device-pkg-stub`** | 无同名「全量」于 `cw_lib` | 仅为 **`DeviceUpgradeResult`** 等编译占位,与 portal 裁剪配套。 | +| **无 `src/main/java`(非缺陷)** | **`maven-cloudwalk-cloud/cloudwalk-cloud-common`**(**`4.0.0-Brussels-SRX`**)与 **`maven-cloudwalk-legacy-public/cloudwalk-cloud-common`**(**`3.7.2-Brussels-SRX`**) | **目录下仅有 `pom.xml`,`packaging=pom`** | **`cloudwalk-cloud-common` 在上游即为 BOM/聚合父 POM**,不提供带 `.class` 的业务 JAR;**`cw_lib` 中也不存在 `cloudwalk-cloud-common-*.jar`**,只有各子构件(如 **`cloudwalk-common-result`**)的 `pom` 把 parent 指向该坐标。工作区维护 **两套版本**:**3.7.2**(与 **`反1`** / 历史 JAR 的 parent 一致)与 **4.0.0 stub**(与电梯等 **`cloudwalk.internal.version`** 对齐),**勿混用**。详见 [Maven聚合工程说明](../architecture/Maven聚合工程说明.md)(「为何存在 `cloudwalk-cloud-common` 子模块」及 **§3.x** 中 3.7.2 / 4.0.0 说明)。 | + +**说明**:outer 类级对照**不能**发现「同一类内方法体与线上一致」;若需核对 **service** 内既有类(如 **`PersonRuleServiceImpl`**)与 `cw_lib` 字节码是否一致,应对该类单独做反编译 diff 或回归测试。 + +### `maven-*` 子模块走查:无 `src/main/java`(属正常,非「缺解压」) + +以下路径**仅有父 `pom.xml`、无 Java 源码目录**,`packaging` 为 **`pom`**,用于 **BOM / 聚合 / 占位**,与私服中「只发 POM、不发 JAR」的构件一致;**勿**当作反编译漏文件去 **`反1`** 补同名 `src`。 + +| 路径 | 作用简述 | +|------|----------| +| **`maven-cloudwalk-cloud/cloudwalk-cloud-common`** | **`4.0.0`** 父坐标桩,见上文审核表。 | +| **`maven-cloudwalk-legacy-public/cloudwalk-cloud-common`** | **`3.7.2`** 父 POM,承接 **`cloudwalk-common-result` / `web` / `serial`**。 | +| **`maven-cwos-resource/cwos-component-resource`** | **`cwos-component-resource`** 聚合父。 | +| **`maven-cwos-resource/cwos-portal`** | **`cwos-portal`** 聚合父。 | +| **`maven-intelligent-cwoscomponent/intelligent-cwoscomponent-parent`** | intelligent 组件父 POM。 | +| 各 **`maven-*/pom.xml` 反应堆根** | 仅 `pom` 聚合,无 `src`。 | + +### 反编译(JD-Core)遗留批量排除 + +大量 **`反1`** 解压的 `.java` 含 **行首 `/* */` / `/* N */`** 及文件尾部 **`/* Location: ... * JD-Core Version: ... */`**。已提供脚本在 **`maven-*`** 树内批量剔除(**不改**业务逻辑,仅删注释噪声;**`artifacts/decompiled/`** 下归档树默认不处理,除非显式传入路径参数): + +```bash +cd /path/to/反编译 +# 先预览将改动的文件数 +python3 scripts/strip_jdcore_java_noise.py --dry-run +# 实际写回(默认处理仓库根下全部 maven-* 目录) +python3 scripts/strip_jdcore_java_noise.py +``` + +写回后建议对常用反应堆执行 **`mvn -DskipTests clean compile`** 做抽样验证。 + ## 4. 版本与私服坐标说明 - **`cloudwalk.internal.version`(如 4.0.0-Brussels-SRX)**:表示本仓库 **`cloudwalk-common-event` / `cloudwalk-common-service`** 等**已迁入源码**构件的版本。 @@ -46,7 +104,7 @@ cd ../maven-cw-elevator-application && mvn -DskipTests clean compile |------|------| | `maven-cloudwalk-cloud` | 在可访问 Nexus 时,`mvn clean install` 可通过。 | | `maven-cw-elevator-application` 之 **common / data** | 已补齐 `spring-web`、`CollectionUtils` 与部分 DTO 反编译错误后,`mvn clean compile` 可编过至 **data** 模块。 | -| `cw-elevator-application-service` | 依赖 **`cwos-component-resource`、`cwos-portal`、`davinci-manager-storage`** 等父工程,**须私服完整** 方可继续解析。 | +| `cw-elevator-application-service` | **`cwos-*-resource` / `cwos-portal`** 父链可由 **`maven-cwos-resource`** 本地 install 解决;**`davinci-manager-storage`** 由 **`maven-cloudwalk-intelligent-davinci-manager`**;**`cloudwalk-common-result`/`web`/`serial`、`cwos-sdk-event`、`cloudwalk-intelligent-component-lock`** 由 **`maven-cloudwalk-legacy-public`**(**`反1`** zip);若仍失败,多为 **其它私服构件** 或 **业务源码**(如反编译残留语法错误)。 | 若仅修改电梯 **data/service 内业务代码**,可在完整依赖环境执行: @@ -57,4 +115,74 @@ mvn -pl cw-elevator-application-service -am -DskipTests clean compile --- +## 6. 编译日志排查(典型失败链) + +以下与一次真实日志一致:`cloudwalk-cloud` 成功 → `intelligent-cwoscomponent-interface` 失败 → 电梯 **common/data** 成功 → **service** 失败。 + +### 6.1 第一层失败:`intelligent-cwoscomponent-interface` + +| 现象 | 含义 | +|------|------| +| `Failed to read artifact descriptor for ... cloudwalk-device-sdk-protocol-entity:jar:2.2.0` | 解析该 JAR 的 **有效 POM** 时失败。 | +| `cloudwalk-device-sdk:pom:2.2.0 (absent) was not found in ... maven-public` | 私服 **没有** 或 **路径不对**:父构件 **`cn.cloudwalk:cloudwalk-device-sdk:2.2.0`**(packaging `pom`)未发布到当前使用的 `repository/maven-public`。 | +| `This failure was cached in the local repository` | Maven 已把「解析失败」缓存在本地(`~/.m2` 或你配置的 **`localRepository`**,如日志中的 `/data/local/repo`),在 **update 间隔** 内会**不再重试**,表现为持续失败。 | + +**处理建议**(择一或组合): + +1. 在 Nexus 补齐 **`cn.cloudwalk:cloudwalk-device-sdk:2.2.0`**(含 `protocol-entity` 子模块坐标),或改用团队约定的 **其他仓库**(`settings.xml` 里增加 `mirror`/`repository`)。 +2. 强制刷新缓存后重编: + `mvn -U -DskipTests clean install`(`-U` 即 `--update-snapshots`,并促使重新检查 release 元数据)。 +3. 若确认私服已修好,可删除本地缓存目录后再编(路径示例,按坐标替换): + `rm -rf ~/.m2/repository/cn/cloudwalk/cloudwalk-device-sdk` + 若 `localRepository` 为 `/data/local/repo`,则同样删除其下 `cn/cloudwalk/cloudwalk-device-sdk`。 + +`intelligent-cwoscomponent-interface` 直接依赖见: + +```29:32:maven-intelligent-cwoscomponent/intelligent-cwoscomponent-interface/pom.xml + + cn.cloudwalk + cloudwalk-device-sdk-protocol-entity + +``` + +(版本由反应堆 `dependencyManagement` 中的 **`cloudwalk.device.sdk.version`** 指定。) + +--- + +### 6.2 第二层失败:`cw-elevator-application-service`(依赖未装全时的连锁) + +| 现象 | 含义 | +|------|------| +| `cwos-component-resource:pom:1.0.0-SNAPSHOT` absent | 接口包 **`cwos-component-resource-interface`** 所引用的 **父 POM** 未在私服。 | +| `cwos-portal:pom:1.0.0-SNAPSHOT` absent | 同上,**`cwos-portal-interface`** 的父工程未发布。 | +| `cloudwalk-intelligent-davinci-manager:pom:1.1.7-SNAPSHOT` absent | **`davinci-manager-storage`** 的父 POM 未在私服(或曾失败被缓存)。 | +| `The POM for ... intelligent-cwoscomponent-rest:jar:3.0.0-xinghewan is missing` | 因 **6.1** 失败,**interface/rest 未 install** 到本地仓库,电梯解析 `intelligent-cwoscomponent-rest` 时只能报「无 POM/无依赖信息」。 | + +**结论**:`service` 的失败 **不是** 电梯业务源码语法问题,而是 **Maven 依赖图不完整**(私服缺件 + 上一步 intelligent 未成功)。 + +**处理建议**:先解决 **6.1** 并执行 `maven-intelligent-cwoscomponent` 全量 `install` 成功;对 **cwos / davinci** 父链优先在本仓库执行 **`maven-cwos-resource`**、**`maven-cloudwalk-intelligent-davinci-manager`** 的 `install`;其余缺失再在 Nexus 补齐,或对构件执行 **`mvn install:install-file`** 安装到本地/私服。 + +--- + +### 6.3 警告(非本次失败主因,可后续治理) + +| 日志 | 说明 | +|------|------| +| `cloudwalk-common-web:jar:3.7.2-Brussels-SRX is invalid` … `cloudwalk-common-result` / `jsoup` **version is missing** | 私服上该 JAR 内嵌的 **POM 不完整**,Maven 构建「有效模型」时告警;**传递依赖可能不完整**。当前 **common/data** 已通过,但若运行期缺类,需在电梯反应堆 **`dependencyManagement`** 中显式补 `jsoup` 等版本。 | +| 同上对 **`cloudwalk-common-serial`** 的 invalid 警告 | 同上,多为历史发布物 POM 质量问题。 | + +--- + +### 6.4 推荐复现命令(修私服 / 清缓存后) + +```bash +export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 +export PATH="$JAVA_HOME/bin:$PATH" +cd maven-cloudwalk-cloud && mvn -U -DskipTests clean install +cd ../maven-intelligent-cwoscomponent && mvn -U -DskipTests clean install +cd ../maven-cw-elevator-application && mvn -U -DskipTests clean install +``` + +--- + *随 POM 与私服策略变更请更新本文。*