fix(build): 私服 legacy 坐标分离、电梯 common/data 可编译与本地编译文档

- cloudwalk.legacy.public.version=3.7.2:result/web/serial 仍走私服;event/service 用 4.0.0
- common: spring-web;CollectionUtils for-each  Iterable 强转
- data: 反编译 DTO hashCode/import 修正(ImageRuleRef*、AcsElevatorDevice*)
- docs/build/本地编译说明.md;Maven工作区修订表补充 legacy 说明

Made-with: Cursor
This commit is contained in:
反编译工作区
2026-04-24 11:37:48 +08:00
parent e7f1d0b3bb
commit b30ea1f70c
15 changed files with 93 additions and 23 deletions
@@ -132,6 +132,7 @@ 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) |
---
+60
View File
@@ -0,0 +1,60 @@
# 本地编译说明(Maven 工作区)
## 1. 环境与 JVM
- **Maven 进程 JVM**:须为 **JDK 8**(与 `maven-enforcer-plugin` 及各父 POM `java.version` 一致)。
示例(Linux):
```bash
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH="$JAVA_HOME/bin:$PATH"
java -version # 应显示 1.8.x
```
## 2. 私服与网络
-`pom.xml` 中默认 Nexus 为 **`http://192.168.3.12/...`**(或带端口 `8081``maven-public`)。
- **须在能访问该私服的网络环境**(如内网/VPN)下执行,否则 `intelligent-cwoscomponent``cw-elevator-application-service` 等模块会因 **父 POM / 传递依赖无法解析** 而失败。
## 3. 推荐编译顺序(依赖链)
在仓库根下按顺序 **install**(或至少 **compile** 前序模块并 install 到本地 `~/.m2`):
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` 按需单独编译。
单工程示例:
```bash
cd maven-cloudwalk-cloud && mvn -DskipTests clean install
cd ../maven-intelligent-cwoscomponent && mvn -DskipTests clean install
cd ../maven-cw-elevator-application && mvn -DskipTests clean compile
```
## 4. 版本与私服坐标说明
- **`cloudwalk.internal.version`(如 4.0.0-Brussels-SRX**:表示本仓库 **`cloudwalk-common-event` / `cloudwalk-common-service`** 等**已迁入源码**构件的版本。
- **`cloudwalk.legacy.public.version`(固定 3.7.2-Brussels-SRX**:表示**未迁入本仓库**、仍只能从私服获取的 **`cloudwalk-common-result` / `cloudwalk-common-web` / `cloudwalk-common-serial`** 等历史 GAV,**勿与反应堆主版本混用**,否则 Nexus 上无对应版本会导致解析失败。
详见 [Maven工作区子工程版本一览](../architecture/Maven工作区子工程版本一览.md)。
## 5. 本机验证结果(参考)
| 模块 | 说明 |
|------|------|
| `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`** 等父工程,**须私服完整** 方可继续解析。 |
若仅修改电梯 **data/service 内业务代码**,可在完整依赖环境执行:
```bash
cd maven-cw-elevator-application
mvn -pl cw-elevator-application-service -am -DskipTests clean compile
```
---
*随 POM 与私服策略变更请更新本文。*