切换主题
本地开发与联调
环境准备
使用 Java 21、Maven、Node.js(仓库要求不低于 20.19.0)以及 PostgreSQL、Redis。进入 EDMA 仓库根目录;首次安装前确认根锁文件与 npm workspace 可用。
bash
npm ci
mvn install -DskipTests复制根 .env.example 到本机 .env,仅填写此次启动所需配置。真实凭据不提交;示例中的占位值不能直接用于数据库或服务认证。
Spring Boot 不自动读取根 .env,需在终端或 IDE 注入环境变量:
bash
set -a
source .env
set +a当前本地端口
下表核对自当前 Vite 与服务 application.yml;环境变量可覆盖 API 默认端口。
| 单元 | Web | API |
|---|---|---|
| 产品官网 | 6010 | 6011 |
| 文档中心 | 6020 | — |
| Gateway | — | 6100 |
| IAM | 6111 | 6112 |
| EDMS | 6301 | 6302 |
| HRM | 6311 | 6312 |
| BPM | 6321 | 6322 |
| MDM 标识登记服务 | 按应用配置 | 6332 |
部分历史端口表与现实现不同,启动时以应用配置为准。Web 使用严格端口模式,冲突时修正占用,不静默切换端口。
启动最小底座
- 为 IAM 建立独立数据库并配置 Redis。
- 首次环境注入引导管理员及所需客户端配置。引导不会用新环境变量覆盖已有客户端和账号。
- 分别在终端启动 IAM 和 Gateway:
bash
mvn -pl :edma-iam spring-boot:run
mvn -pl :edma-gateway spring-boot:run
npm run dev:iam以上为不同的长驻进程,需要分别运行。业务联调再启用所需服务。
启动业务应用
| 应用 | API 启动 | Web 启动 |
|---|---|---|
| EDMS | mvn -pl :edma-edms spring-boot:run | npm run dev:edms |
| BPM | mvn -pl :edma-bpm spring-boot:run | npm run dev:bpm |
| HRM | mvn -pl :edma-hrm spring-boot:run | npm run dev:hrm |
| MDM | mvn -pl :edma-mdm spring-boot:run | 以实际联调任务为准 |
HRM 还需要独立数据库、MDM 标识登记和 BPM;EDMS 需要可用存储源。必须登记与当前 Web 端口精确匹配的 OAuth 回调。
验证
bash
curl -fsS http://localhost:6112/actuator/health
curl -fsS http://localhost:6100/actuator/health
curl -fsS http://localhost:6100/.well-known/openid-configuration
curl -fsS http://localhost:6100/oauth2/jwks未携带令牌访问受保护 API 应被拒绝。再验证登录、普通用户权限和一条实际业务路径;健康检查通过不能替代业务联调。
只启动文档中心
bash
npm run dev:docs
npm run build:docs文档中心不需要数据库、IAM 或业务后端。预览构建产物使用 npm run preview --workspace @edma/docs-center。