📝 主要改进: • Cursor配置模块化:拆分为前端、后端、移动端、文档、API测试5个专门规范文件 • API文档重新组织:按业务模块拆分到docs/开发文档/API/目录下 • 新增维修分类功能完整测试方案和自动化测试脚本 • 后端热启动脚本完善,支持Linux/Windows双平台 • 强化文档同步更新规范,确保代码与文档一致性 🔧 技术改进: • 优化Cursor AI工作流程和代码生成质量 • 完善API测试规范(AES+RSA双重加密登录方法) • 提升开发效率和代码质量标准化程度 �� 测试覆盖: • 维修分类管理功能端到端测试验证通过 • 包含页面加载、CRUD操作、搜索功能等核心测试用例 更新时间:2025-07-01
320 lines
7.1 KiB
Markdown
320 lines
7.1 KiB
Markdown
# 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. **问题反馈**: 查看变更记录文档中的联系方式
|
||
|
||
---
|
||
|
||
**🎉 享受热启动带来的开发效率提升!**
|
||
|
||
**📝 温馨提示**: 热加载功能仅在开发环境启用,生产环境会自动禁用以确保性能和稳定性。
|