《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 http://www.iocoder.cn/Yudao/build-debugger-environment/ 「芋道源码」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

目标:使用 IDEA 工具,将项目 ruoyi-vue-pro 运行起来。

整个过程非常简单,预计 10 分钟就可以完成,取决于大家的网速。

↓↓↓ 技术交流群,一起苦练技术基本功,每日精进 30 公里!↓↓↓

交流群

1. 克隆代码

使用 IDEA 克隆 https://github.com/YunaiV/ruoyi-vue-pro 仓库的最新代码,并给该仓库一个 Star

友情提示:IDEA 请使用至少 2020 版本,不知道怎么激活的可以看看 《IDEA 破解新招 - 无限重置30天试用期(适用于 2018、2019、2020、2021 所有版本) 》 文章!

克隆完成后,耐心等待 Maven 下载完相关的依赖。

项目一览

友情提示:项目的每个模块的作用,可见 《开发指南 —— 项目结构》 文档。

使用的 SpringBoot 版本较新,所以需要下载一段时间。趁着这个时间,胖友可以给项目添加一个 Star,支持下艿艿。

Star 一波

2. Apifox 接口工具

点击 Apifox 首页,下载对应的 Apifox 桌面版。如下图所示:

::: tip 为什么要下载 Apifox 桌面版? 艿艿已经卸载 Postman,使用 Apifox 进行替代。国产软件,yyds 永远滴神!

国内很多互联网公司,包括百度、阿里、腾讯、字节跳动等等在内,都在使用 Apifox 作为 API 工具。 :::

Apifox 下载

解压后,双击进行安装即可。黑色界面,非常酷炫。

Apifox 界面

3. 初始化 MySQL

:::tip 友情提示? 如果你是 PostgreSQL、Oracle、SQL Server 等其它数据库,也是可以的。

因为我主要使用 MySQL数据库为主,所以其它数据库的 SQL 文件可能存在滞后,可以加入 用户群 反馈。 :::

项目使用 MySQL 存储数据,所以需要启动一个 MySQL 服务,建议使用 5.7 版本。

① 创建一个名字为 ruoyi-vue-pro 数据库,执行对应数据库类型的 sql 目录下的 SQL 文件,进行初始化。

导入 MySQL 数据库

② 默认配置下,MySQL 需要启动在 3306 端口,并且账号是 root,密码是 123456。如果不一致,需要修改 application-local.yaml 配置文件。

修改配置文件

4. 初始化 Redis

项目使用 Redis 缓存数据,所以需要启动一个 Redis 服务。

一定要使用 5.0 以上的版本,项目使用 Redis Stream 作为消息队列。

不会安装的胖友,可以选择阅读下文,良心的艿艿。

默认配置下,Redis 启动在 6379 端口,不设置账号密码。如果不一致,需要修改 application-local.yaml 配置文件。

修改配置文件

5. 启动后端项目

yudao-server 是后端项目,提供管理后台、用户 APP 的 RESTful API 接口。

① 第一步,使用 IDEA 打开 Terminal 终端,在根目录下直接执行 mvn clean package -Dmaven.test.skip=true 命令,将项目进行初始化的打包,预计需要 1 分钟左右。成功后,控制台日志如下:

:::tip JDK 版本的选择? 如下的 JDK 版本,是艿艿在本地测试通过的

  • JDK 8 版本:尽量保证 >= 1.8.0_144
  • JDK 11 版本:尽量保证 >= 11.0.14
  • JDK 17 版本:尽量保证 >= 17.0.2

如果 JDK 版本过低,包括 JDK 的小版本过低,也会 mvn 编译报错。例如说: “编译器(1.8.0_40)中出现编译错误“。此处,升级下 JDK 版本即可。 :::

[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:12 min
[INFO] Finished at: 2022-02-12T09:52:38+08:00
[INFO] Final Memory: 250M/2256M
[INFO] ------------------------------------------------------------------------

友情提示:只有首次需要执行 Maven 命令,解决基础 pom.xml 文件不存在,导致报 BaseDbUnitTest 类不存在的问题。

② 第二步,执行 YudaoServerApplication 类,进行启动。

:::tip 启动还是报类不存在? 可能是 IDEA 的 bug,点击 [File -> Invalidate Caches] 菜单,清空下缓存,重启后在试试看。 :::

启动后端项目

启动完成后,使用浏览器访问 http://127.0.0.1:48080 地址,返回如下 JSON 字符串,说明成功。

友情提示:注意,默认配置下,后端项目启动在 48080 端口。

{
"code": 401,
"data": null,
"msg": "账号未登录"
}

如果报 “Command line is too long” 错误,参考 《Intellij IDEA 运行时报 Command line is too long 解决方法 》 文章解决。

“Command line is too long” 错误

6. 启动前端项目【管理后台】

yudao-admin-ui 是管理后台的前端项目。一共有两种方式:

  • ① 内嵌模式:无需配置 Node 等前端开发环境,可以进行快速体验。

    实现原理: 每次发布版本时,艿艿会将 yudao-admin-ui 编译成静态资源,放置到 yudao-server 中,使用 Spring Boot 转发静态资源。 配置方式,可见 内嵌模式 图片。

  • ② 完整模式:需要配置前端开发环境,适合进行前端功能的开发。

胖友可以根据自己的情况,选择合适的方式。如果你是一个后端开发,对前端了解相对较少,建议先采用方式一,能够快速的 run 起来!

6.1 方式一:内嵌模式

使用浏览器,直接访问 http://127.0.0.1:48080/admin-ui 地址,可以看到前端界面。

前端界面

6.2 方式二:完整模型

yudao-admin-ui 目录下,执行如下命令,进行启动:

# 进入项目目录
cd yudao-admin-ui

# 安装依赖
npm install --registry=https://registry.npmmirror.com/

# 启动服务
npm run local

启动前端项目

友情提示:可能胖友本地没有安装 Node.js 的环境,导致报错。可以参考如下文档安装:

注意,Node 请使用 14 或者 16 的版本!!!例如说,艿艿本地的是 Now using node v14.15.3 (npm v6.14.9) 版本。

启动完成后,浏览器会自动打开 http://localhost:1024 地址,可以看到前端界面。

前端界面

7. 启动前端项目【小程序】

TODO 正在开发中

666. 彩蛋

至此,我们已经完成了项目 ruoyi-vue-pro 的启动。

胖友可以根据自己的兴趣,阅读相关源码。

后面,艿艿会花大量的时间,继续优化这个项目。同时,输出与项目匹配的技术博客,方便胖友更好的学习与理解。

还是那句话,😆 为开源继绝学,我辈义不容辞!


嘿嘿嘿,记得一定要给 https://github.com/YunaiV/ruoyi-vue-pro 一个 star,这对艿艿真的很重要。

Star 一波

文章目录
  1. 1. 1. 克隆代码
  2. 2. 2. Apifox 接口工具
  3. 3. 3. 初始化 MySQL
  4. 4. 4. 初始化 Redis
  5. 5. 5. 启动后端项目
  6. 6. 6. 启动前端项目【管理后台】
    1. 6.1. 6.1 方式一:内嵌模式
    2. 6.2. 6.2 方式二:完整模型
  7. 7. 7. 启动前端项目【小程序】
  8. 8. 666. 彩蛋