diff --git a/pom.xml b/pom.xml index c685488..361bde0 100644 --- a/pom.xml +++ b/pom.xml @@ -33,6 +33,7 @@ 3.5.1 7.19.0 2.5.0 + 1.18.34 5.5.9 @@ -129,6 +130,13 @@ ${velocity.version} + + + org.projectlombok + lombok + ${lombok.version} + + com.alibaba.fastjson2 @@ -228,7 +236,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.1 + 3.13.0 ${java.version} ${java.version} diff --git a/启动指南.md b/启动指南.md new file mode 100644 index 0000000..4db91b6 --- /dev/null +++ b/启动指南.md @@ -0,0 +1,204 @@ +# 石河子后端服务 - 手动启动指南 + +## 项目概述 + +- **框架**: RuoYi (若依) v3.8.8 / Spring Boot 2.5.15 +- **语言**: Java 1.8 (兼容 Java 21) +- **构建工具**: Maven 3.9+ +- **默认端口**: `9091` +- **主启动类**: `com.ruoyi.RuoYiApplication` + +--- + +## 1. 环境要求 + +| 依赖 | 当前环境 | 备注 | +|------|----------|------| +| **JDK** | 21.0.11 (Temurin) | 路径: `C:\Program Files\Eclipse Adoptium\jdk-21.0.11.10-hotspot` | +| **Maven** | 3.9.9 | 路径: `C:\Users\franc\apache-maven-3.9.9` | +| **数据库** | Highgo DB (远程) | `39.98.44.136:6023` (local 配置) | +| **Redis** | 远程 | `124.243.245.42:5379` (local 配置) | +| **Elasticsearch** | 远程 | `124.243.245.42:9200` (local 配置) | + +--- + +## 2. 环境变量设置 + +### Git Bash / WSL + +```bash +export PATH="/c/Users/franc/apache-maven-3.9.9/bin:$PATH" +``` + +### 永久生效 (可选) + +将上述 export 命令添加到 `~/.bashrc` 末尾: + +```bash +echo 'export PATH="/c/Users/franc/apache-maven-3.9.9/bin:$PATH"' >> ~/.bashrc +``` + +### 验证安装 + +```bash +java -version # 应显示 OpenJDK 21 +mvn -version # 应显示 Apache Maven 3.9.9 +``` + +--- + +## 3. 构建项目 + +```bash +# 进入后端项目目录 +cd shz-backend + +# 清理并构建(跳过测试,4线程并行编译) +mvn clean install -DskipTests -T 4 +``` + +> **构建产物**: `ruoyi-admin/target/ruoyi-admin.jar` + +--- + +## 4. 启动服务 + +### 前台运行(用于调试,Ctrl+C 停止) + +```bash +cd shz-backend +java -jar ruoyi-admin/target/ruoyi-admin.jar --spring.profiles.active=local +``` + +### 后台运行 + +```bash +cd shz-backend + +# 创建日志目录 +mkdir -p logs + +# 后台启动 +nohup java -jar ruoyi-admin/target/ruoyi-admin.jar \ + --spring.profiles.active=local \ + >> logs/backend.log 2>&1 & + +# 跟踪日志 +tail -f logs/backend.log +``` + +### JVM 参数调优(可选) + +```bash +java -Xms2048M -Xmx2048M -jar ruoyi-admin/target/ruoyi-admin.jar \ + --spring.profiles.active=local +``` + +--- + +## 5. 验证服务 + +```bash +# 检查服务首页 +curl http://localhost:9091/ +# 返回: 欢迎使用RuoYi后台管理框架,当前版本:v3.8.8 + +# 检查 Swagger API 文档 +curl -s -o /dev/null -w "HTTP: %{http_code}" http://localhost:9091/swagger-ui/index.html +# 返回: HTTP: 200 + +# 检查 Druid 监控面板 +# 浏览器访问: http://localhost:9091/druid/ +# 账号: ruoyi / 123456 + +# 查看运行中的进程 +jps -l | grep ruoyi +``` + +--- + +## 6. 停止服务 + +```bash +# 方法一: 查找并终止(推荐) +jps -l | grep ruoyi # 查找 PID +kill # 优雅关闭 + +# 方法二: 按端口查找 +netstat -ano | findstr 9091 # Windows +lsof -i :9091 # Linux/Mac +``` + +--- + +## 7. 可用配置 Profile + +| Profile | 配置文件 | 数据库 | 端口 | +|---------|----------|--------|------| +| `dev` | [`application-dev.yml`](ruoyi-admin/src/main/resources/application-dev.yml) | 内网 `172.31.9.107:8765` | `9091` | +| `local` | [`application-local.yml`](ruoyi-admin/src/main/resources/application-local.yml) | 外网 `39.98.44.136:6023` | `9091` | + +默认激活 Profile 在 [`application.yml`](ruoyi-admin/src/main/resources/application.yml) 的 `spring.profiles.active` 中配置。 + +--- + +## 8. 构建常见问题 + +### 编译错误: `NoSuchFieldError: JCTree$JCImport qualid` + +Lombok 版本与 JDK 21 不兼容。确保 `pom.xml` 中 Lombok 版本 ≥ 1.18.32: + +```xml +1.18.34 +``` + +### 编译错误: `maven-compiler-plugin` 版本过低 + +需要 `maven-compiler-plugin` ≥ 3.11.0 才支持 JDK 21: + +```xml + + org.apache.maven.plugins + maven-compiler-plugin + 3.13.0 + +``` + +### Maven 下载依赖缓慢 + +项目已配置阿里云 Maven 镜像(`maven.aliyun.com`),无需额外配置。 + +--- + +## 9. 项目结构 + +``` +shz-backend/ +├── pom.xml # 根 POM(依赖管理) +├── ruoyi-admin/ # Web 入口模块(Spring Boot 启动类) +│ └── src/main/resources/ +│ ├── application.yml # 主配置 +│ ├── application-dev.yml # 开发环境 +│ └── application-local.yml # 本地环境 +├── ruoyi-common/ # 通用工具模块 +├── ruoyi-framework/ # 核心框架模块 +├── ruoyi-system/ # 系统管理模块 +├── ruoyi-bussiness/ # 业务模块 +├── ruoyi-quartz/ # 定时任务模块 +├── ruoyi-generator/ # 代码生成模块 +├── sql/ # 数据库脚本 +├── docs/ # 项目文档 +└── buildAndStart.sh # Linux 部署脚本 +``` + +--- + +## 10. 相关服务地址 + +| 服务 | 地址 | +|------|------| +| 后端 API | `http://localhost:9091/` | +| Swagger 文档 | `http://localhost:9091/swagger-ui/index.html` | +| Druid 监控 | `http://localhost:9091/druid/` | +| 管理后台前端 | `shz-admin/` 目录(需单独启动) | +| 微信小程序 | `shzApp/` 目录(uniapp 项目) |