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

276 lines
5.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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