Files
wvp-platform/启动指南-Java17.md

276 lines
5.9 KiB
Markdown
Raw Normal View History

2026-02-28 10:02:55 +08:00
# WVP-PRO 启动指南(使用 Java 17
## 当前环境
- ✅ Java 17 已安装
- ✅ Node.js 已安装
- ✅ Docker 已安装
- ✅ 基础服务已启动Redis、MySQL、ZLMediaKit
- ✅ pom.xml 已修改为 Java 17
## 方案一:使用 PowerShell 编译(推荐)
### 1. 打开 PowerShell管理员权限
```powershell
cd C:\workspace\wvp-platform
```
### 2. 使用 Docker 编译项目
```powershell
docker run --rm -v "${PWD}:/app" -w /app eclipse-temurin:17-jdk cmd /c "apt-get update && apt-get install -y maven && mvn clean package -Dmaven.test.skip=true"
```
### 3. 检查编译结果
```powershell
ls target\wvp-pro*.jar
```
### 4. 配置连接参数
编辑 `src\main\resources\application-dev.yml`,确保以下配置正确:
```yaml
spring:
data:
redis:
host: 127.0.0.1
port: 6379
datasource:
url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
username: wvp_user
password: wvp_password
media:
ip: 127.0.0.1
http-port: 8080
```
### 5. 启动应用
```powershell
java -jar target\wvp-pro-2.7.4-*.jar --spring.profiles.active=dev
```
---
## 方案二:安装 Maven 后编译
### 1. 下载 Maven
访问https://maven.apache.org/download.cgi
下载apache-maven-3.9.6-bin.zip
### 2. 解压并配置环境变量
```powershell
# 解压到 C:\Program Files\apache-maven-3.9.6
# 添加到系统PATH
setx /M PATH "%PATH%;C:\Program Files\apache-maven-3.9.6\bin"
# 重启终端验证
mvn -version
```
### 3. 编译项目
```powershell
cd C:\workspace\wvp-platform
# 编译前端
cd web
npm install --registry=https://registry.npmmirror.com
npm run build:prod
cd ..
# 编译后端
mvn clean package -Dmaven.test.skip=true
```
### 4. 启动应用
```powershell
java -jar target\wvp-pro-2.7.4-*.jar --spring.profiles.active=dev
```
---
## 方案三:使用已编译的版本(最快)
如果您之前编译过项目,可以直接运行:
```powershell
# 找到已编译的 jar 文件
ls target\*.jar
# 直接运行
java -jar target\wvp-pro-2.7.4-<timestamp>.jar --spring.profiles.active=dev
```
---
## 验证服务
### 1. 检查基础服务状态
```powershell
docker ps --filter "name=polaris-"
```
应该看到:
- docker-polaris-redis-1 (健康运行)
- docker-polaris-mysql-1 (健康运行)
- docker-polaris-media-1 (运行中)
### 2. 测试数据库连接
```powershell
docker exec -it docker-polaris-mysql-1 mysql -u wvp_user -pwvp_password -e "show databases;"
```
应该看到 `wvp` 数据库。
### 3. 访问应用
启动后访问:
- **管理后台**: http://localhost:18080
- **API 文档**: http://localhost:18080/doc.html
- **默认账号**: admin / admin
---
## 常见问题
### 1. 端口冲突
如果 18080 端口被占用:
```yaml
# 修改 src/main/resources/application-dev.yml
server:
port: 28080 # 改为其他端口
```
### 2. 数据库连接失败
检查 MySQL 是否健康:
```powershell
docker logs docker-polaris-mysql-1
```
### 3. Redis 连接失败
检查 Redis 状态:
```powershell
docker exec -it docker-polaris-redis-1 redis-cli ping
```
应该返回 `PONG`
### 4. ZLMediaKit 连接失败
检查 ZLMediaKit 日志:
```powershell
docker logs docker-polaris-media-1
```
---
## 功能模块位置
### 主码流/子码流切换
- **控制器**: `src/main/java/com/genersoft/iot/vmp/gb28181/controller/DeviceQuery.java`
- **服务**: `src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/PlayServiceImpl.java`
- **API**: `/api/play/{deviceId}/{channelId}/start` (带 streamType 参数)
### 云台控制(转向、拉近、拉远)
- **控制器**: `src/main/java/com/genersoft/iot/vmp/gb28181/controller/PtzController.java`
- **服务**: `src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/PTZServiceImpl.java`
- **命令**: `src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java`
- **API**:
- `/api/front-end/{deviceId}/{channelId}/ptz` - PTZ控制
- `/api/front-end/{deviceId}/{channelId}/left` - 左转
- `/api/front-end/{deviceId}/{channelId}/right` - 右转
- `/api/front-end/{deviceId}/{channelId}/up` - 上转
- `/api/front-end/{deviceId}/{channelId}/down` - 下转
- `/api/front-end/{deviceId}/{channelId}/zoom_in` - 拉近
- `/api/front-end/{deviceId}/{channelId}/zoom_out` - 拉远
### 设备接入管理
- **设备服务**: `src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java`
- **注册处理**: `src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java`
- **心跳处理**: `src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/MessageRequestProcessor.java`
- **SIP层**: `src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java`
---
## 停止服务
### 停止 WVP 应用
在运行窗口按 `Ctrl + C`
### 停止 Docker 服务
```powershell
cd docker
docker compose down
```
### 只停止 WVP保留基础服务
```powershell
cd docker
docker compose stop polaris-wvp polaris-nginx
```
---
## 日志查看
### WVP 应用日志
应用启动后,日志会输出到控制台和 `logs/` 目录
### Docker 服务日志
```powershell
# 查看所有服务日志
cd docker
docker compose logs -f
# 查看特定服务日志
docker compose logs -f polaris-mysql
docker compose logs -f polaris-redis
docker compose logs -f polaris-media
```
---
## 下一步
### 1. 测试设备接入
配置国标设备连接到 WVP
- SIP 服务器: `你的IP地址`
- SIP 端口: `8160`
- SIP 域: `3502000000`
- 设备ID: 20位国标编码
- 密码: `wvp_sip_password`
### 2. 查看设备列表
访问 http://localhost:18080 后,在"国标设备"菜单查看已接入设备
### 3. 测试云台控制
在设备通道列表中,点击"云台控制"按钮测试
### 4. 测试视频播放
在通道列表中点击"播放"按钮,查看视频流
---
最后更新: 2026-02-02