Files
hzdyjs/backend/README-热启动脚本.md
T
zlwu 249b1dfeb4 feat: 完善项目开发规范和测试文档体系
📝 主要改进:
• Cursor配置模块化:拆分为前端、后端、移动端、文档、API测试5个专门规范文件
• API文档重新组织:按业务模块拆分到docs/开发文档/API/目录下
• 新增维修分类功能完整测试方案和自动化测试脚本
• 后端热启动脚本完善,支持Linux/Windows双平台
• 强化文档同步更新规范,确保代码与文档一致性

🔧 技术改进:
• 优化Cursor AI工作流程和代码生成质量
• 完善API测试规范(AES+RSA双重加密登录方法)
• 提升开发效率和代码质量标准化程度

�� 测试覆盖:
• 维修分类管理功能端到端测试验证通过
• 包含页面加载、CRUD操作、搜索功能等核心测试用例

更新时间:2025-07-01
2025-07-01 17:53:05 +08:00

320 lines
7.1 KiB
Markdown
Raw 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.
# RuoYi 热启动脚本使用说明
## 📋 脚本概述
**脚本名称**:
- Linux/macOS: `hot-start.sh`
- Windows: `hot-start.bat`
**脚本位置**: `backend/` 目录
**创建时间**: 2025-07-01 12:05:32
**脚本版本**: v1.0.0
**功能说明**: 为 RuoYi-Vue-Plus 项目提供智能热启动功能,支持多环境切换、热加载、调试模式等
### 跨平台支持
- 🐧 **Linux/macOS**: 使用 `hot-start.sh` (Bash 脚本)
- 🪟 **Windows**: 使用 `hot-start.bat` (批处理脚本)
- 🔄 **功能一致**: 两个脚本提供完全相同的功能和参数
## 🚀 快速开始
### 基本使用
#### Linux/macOS
```bash
# 进入backend目录
cd backend
# 默认启动(开发环境 + 热加载)
./hot-start.sh
# 查看帮助信息
./hot-start.sh --help
# 检查环境配置
./hot-start.sh --check
```
#### Windows
```cmd
# 进入backend目录
cd backend
# 默认启动(开发环境 + 热加载)
hot-start.bat
# 查看帮助信息
hot-start.bat --help
# 检查环境配置
hot-start.bat --check
```
### 常用启动命令
#### Linux/macOS
```bash
# 开发环境启动(默认)
./hot-start.sh
# 清理编译后启动
./hot-start.sh -c
# 调试模式启动
./hot-start.sh -d
# 生产环境启动
./hot-start.sh -p prod
# 指定端口启动
./hot-start.sh -P 9090
# 禁用热加载启动
./hot-start.sh --no-hot
```
#### Windows
```cmd
# 开发环境启动(默认)
hot-start.bat
# 清理编译后启动
hot-start.bat -c
# 调试模式启动
hot-start.bat -d
# 生产环境启动
hot-start.bat -p prod
# 指定端口启动
hot-start.bat -P 9090
# 禁用热加载启动
hot-start.bat --no-hot
```
## 🔧 功能特性
### 1. 智能环境检查
- ✅ 自动检查 Java 环境
- ✅ 自动检查 Maven 环境
- ✅ 验证目标模块存在
- ✅ 检查热加载配置状态
- ✅ 验证配置文件完整性
### 2. 热加载支持
- 🔥 **默认启用**: 开发环境自动启用热加载功能
- 🔥 **智能重启**: 修改 Java 代码后 1-3 秒自动重启
- 🔥 **配置热加载**: 支持配置文件变更实时生效
- 🔥 **MyBatis 支持**: XML 映射文件修改自动重新加载
### 3. 多环境支持
- 🌍 **开发环境**: `-p dev` (默认)
- 🌍 **测试环境**: `-p test` 或 `-t`
- 🌍 **生产环境**: `-p prod`
### 4. 高级功能
- 🐛 **调试模式**: `-d` 启用远程调试(端口 5005)
- 🧹 **清理编译**: `-c` 清理后重新编译启动
- 🔌 **端口管理**: 自动检测端口占用并提供解决方案
- ⚙️ **JVM 调优**: 内置 G1GC 优化参数
## 📚 参数详解
### 命令行选项
| 选项 | 长选项 | 说明 | 示例 |
| ---- | ------------ | --------------- | ------------------------------- |
| `-h` | `--help` | 显示帮助信息 | `./hot-start.sh -h` |
| `-p` | `--profile` | 指定环境配置 | `./hot-start.sh -p prod` |
| `-P` | `--port` | 指定端口号 | `./hot-start.sh -P 9090` |
| `-m` | `--module` | 指定启动模块 | `./hot-start.sh -m ruoyi-admin` |
| `-c` | `--clean` | 清理编译后启动 | `./hot-start.sh -c` |
| `-d` | `--debug` | 启用调试模式 | `./hot-start.sh -d` |
| `-j` | `--jvm-opts` | 自定义 JVM 参数 | `./hot-start.sh -j "-Xmx4g"` |
| `-t` | `--test` | 测试模式启动 | `./hot-start.sh -t` |
| | `--no-hot` | 禁用热加载功能 | `./hot-start.sh --no-hot` |
| | `--check` | 检查环境配置 | `./hot-start.sh --check` |
### 环境配置说明
| 环境 | 配置文件 | 适用场景 | 热加载 |
| ------ | ---------------------- | -------- | ------- |
| `dev` | `application-dev.yml` | 开发调试 | ✅ 启用 |
| `test` | `application-test.yml` | 测试验证 | ❌ 禁用 |
| `prod` | `application-prod.yml` | 生产部署 | ❌ 禁用 |
## 🎯 使用场景
### 日常开发
```bash
# 1. 开始开发
./hot-start.sh
# 2. 修改代码后,应用自动重启(1-3秒)
# 3. 继续开发,享受热加载带来的效率提升
```
### 问题调试
```bash
# 启用调试模式(远程调试端口:5005)
./hot-start.sh -d
# IDE中配置远程调试连接 localhost:5005
```
### 环境切换
```bash
# 测试环境验证
./hot-start.sh -t
# 生产环境模拟
./hot-start.sh -p prod --no-hot
```
### 清理重启
```bash
# 彻底清理后启动(解决依赖问题)
./hot-start.sh -c
```
## 🔍 故障排除
### 常见问题
#### 1. 端口占用
**现象**: 提示端口已被占用
**解决**: 脚本会自动检测并询问是否杀死占用进程
#### 2. 热加载不工作
**现象**: 修改代码后不自动重启
**解决**:
```bash
# 检查热加载配置
./hot-start.sh --check
# 如果配置正确,检查IDE自动编译设置
```
#### 3. 编译失败
**现象**: 启动时编译报错
**解决**:
```bash
# 清理后重新编译
./hot-start.sh -c
```
#### 4. Java/Maven 环境问题
**现象**: 环境检查失败
**解决**:
```bash
# 检查环境配置
./hot-start.sh --check
# 确保Java 17+和Maven 3.6+已正确安装
java -version
mvn -version
```
### 调试技巧
#### 1. 查看详细日志
脚本会显示完整的 Maven 启动命令,可以手动执行进行调试:
```bash
# 脚本会显示类似这样的命令
mvn spring-boot:run -Dspring-boot.run.profiles=dev -Dspring-boot.run.jvmArguments="-Xms512m -Xmx2048m -XX:+UseG1GC"
```
#### 2. 临时禁用热加载
如果怀疑热加载引起问题:
```bash
./hot-start.sh --no-hot
```
#### 3. 自定义 JVM 参数
针对特定问题调整 JVM 参数:
```bash
./hot-start.sh -j "-Xmx4g -XX:+HeapDumpOnOutOfMemoryError"
```
## 🎨 脚本特色
### 美观的界面
- 🎨 彩色输出提升用户体验
- 🚀 精美的启动 Logo
- 📊 清晰的配置信息展示
- ✅ 直观的状态指示器
### 智能化特性
- 🧠 自动环境检测
- 🔧 智能端口管理
- 📋 详细的错误提示
- 🛡️ 优雅的异常处理
### 开发友好
- ⚡ 一键启动,无需记忆复杂命令
- 🔄 支持中断恢复(Ctrl+C)
- 📚 内置帮助文档
- 🎯 针对不同场景的预设选项
## 📝 配置文件关联
脚本与以下配置文件关联:
- **pom.xml**: 检查 DevTools 依赖
- **application-dev.yml**: 开发环境配置(含热加载配置)
- **application-test.yml**: 测试环境配置
- **application-prod.yml**: 生产环境配置
## 🔗 相关文档
- **热加载配置详解**: `docs/开发文档/热加载配置说明.md`
- **项目启动指南**: `工程本地启动指导.md`
- **变更记录**: `docs/变更管理/code-adjust-record-2025-07-01-zlwu.md`
## 📞 技术支持
如果在使用过程中遇到问题:
1. **查看帮助**: `./hot-start.sh --help`
2. **环境检查**: `./hot-start.sh --check`
3. **查阅文档**: `docs/开发文档/热加载配置说明.md`
4. **问题反馈**: 查看变更记录文档中的联系方式
---
**🎉 享受热启动带来的开发效率提升!**
**📝 温馨提示**: 热加载功能仅在开发环境启用,生产环境会自动禁用以确保性能和稳定性。