# 拖轮项目多服务调试指南 ## 项目结构 本项目由四个服务组成: 1. **com.lianda.auth** - 认证服务 - 端口: 8083 - 路径: `/auth` 作为认证服务根路径 2. **JavaBackend** - Spring Boot 后端服务 - 端口: 8080 - 路径: `/api` 作为API根路径 3. **Vue Frontend** - Vue.js 前端服务 - 端口: 8082 - API代理: 将 `/api` 请求代理到后端 4. **FlinkDataSync** - CDC 数据同步服务 - 无端口,后台运行 - 功能: 实时将 TugboatCommon 数据库同步到 LiandaTugboatMIS 数据库 ## 启动方式 ### 方式一:一键启动脚本 运行 PowerShell 脚本: ```powershell .\start-all.ps1 ``` ### 方式二:手动启动 #### 1. 启动认证服务 进入 com.lianda.auth 目录: ```bash cd com.lianda.auth ``` 使用 Maven 启动: ```bash mvn spring-boot:run ``` #### 2. 启动后端服务 进入 JavaBackend 目录: ```bash cd JavaBackend ``` 使用 Maven 启动: ```bash mvn spring-boot:run ``` 或者打包后运行: ```bash mvn clean package -DskipTests java -jar target/java-backend-1.0-SNAPSHOT.jar ``` #### 3. 启动前端服务 进入 vue-frontend 目录: ```bash cd vue-frontend ``` 安装依赖(首次运行时): ```bash npm install ``` 启动开发服务器: ```bash npm run serve ``` #### 4. 启动数据同步服务 进入 FlinkDataSync 目录: ```bash cd FlinkDataSync ``` 构建项目: ```bash mvn clean package -DskipTests ``` 运行数据同步服务: ```bash java -cp target/flink-data-sync-1.0-SNAPSHOT.jar com.lianda.flink.sync.MySqlCdcSync ``` ## 服务地址 - **认证服务地址**: http://localhost:8083/auth - **前端访问地址**: http://localhost:8082 - **后端API地址**: http://localhost:8080/api - **API代理**: 前端通过 `/api` 路径代理到后端 - **数据同步服务**: 后台运行,无前端访问地址 ## 数据库配置 后端配置了双数据源: - **读库 (liandatugboatmis)**: 用于读取业务数据 - **写库 (tugboatcommon)**: 用于写入公共数据 数据库连接信息在 `application.properties` 中配置。 ## 调试注意事项 1. 确保数据库服务正在运行且可以连接 2. 检查防火墙设置,确保端口 8080、8082 和 8083 可访问 3. 前端通过代理自动处理跨域问题 4. 后端JWT认证机制需要正确配置密钥 5. FlinkDataSync 需要连接到 MySQL 数据库,确保数据库可访问 ## 常见问题 ### 1. 端口被占用 - 检查是否有其他进程占用了 8080、8082 或 8083 端口 - 修改相应配置文件中的端口号 ### 2. 数据库连接失败 - 确认数据库服务正在运行 - 检查 `application.properties` 中的数据库连接信息 ### 3. 前端无法访问后端API - 确认后端服务已启动 - 检查 `vue.config.js` 中的代理配置 ### 4. FlinkDataSync 启动失败 - 确认 MySQL 数据库可访问 - 检查数据库连接配置(hostname: 192.168.0.77, port: 3306) - 确认数据库用户权限正确(root/bowin@2023)