:docs: add Q&A
This commit is contained in:
parent
5f369cf34a
commit
70d9f38998
@ -1,42 +1,65 @@
|
|||||||
# forest 食用手册
|
# forest 食用手册
|
||||||
感谢使用 forest,以下是本项目的开发手册
|
|
||||||
|
|
||||||
## 开发环境搭建(方式1)
|
感谢使用 forest,以下是本项目的开发手册,你将了解到如何从零开始进行开发环境的搭建。运行本项目需要用到Mysql和Redis,你可以使用自己配置好的
|
||||||
### IDE
|
Mysql 和 Redis,也可以使用本项目提供的`docker`的方式快速搭建 Mysql 和 Redis 环境。
|
||||||
本项目使用 `JetBrains IntelliJ IDEA UItimate` 作为编辑器进行开发
|
|
||||||
### Java 环境
|
|
||||||
本项目在 `Java 8` 环境下进行开发
|
|
||||||
### 数据库
|
|
||||||
- `redis`
|
|
||||||
- `mysql`
|
|
||||||
|
|
||||||
|
本项目提供了两种方式,你可以一步一步按照教程来配置,也可以
|
||||||
|
直接使用`docker`快速运行本项目。
|
||||||
|
|
||||||
## 使用 Docker 初始化开发环境(方式2)
|
## 获取最新代码到本地
|
||||||
- 确保本机已安装并启动 `Docker`
|
|
||||||
|
```shell
|
||||||
|
git clone "https://github.com/rymcu/forest"
|
||||||
|
```
|
||||||
|
|
||||||
|
## 开发环境搭建
|
||||||
|
|
||||||
|
你可以使用自己配置好的 Mysql 和 Redis,也可以使用本项目提供的`docker`的方式快速搭建 Mysql 和 Redis 环境。
|
||||||
|
|
||||||
|
### 方式1
|
||||||
|
|
||||||
|
你需要自己配置好下面的环境,下面是本项目所使用的基础开发环境,在运行项目前,请确保你已经配置好基础开发环境。
|
||||||
|
|
||||||
|
- IDE: `JetBrains IntelliJ IDEA UItimate`
|
||||||
|
- `Java 8`
|
||||||
|
- `Mysql v8.0.29`
|
||||||
|
- `Redis v7.0.8`
|
||||||
|
|
||||||
|
### 方式2
|
||||||
|
|
||||||
|
该方式使用 Docker 搭建 Mysql 和 Redis 的开发环境
|
||||||
|
|
||||||
|
- 确保你已经安装了 `Docker`和`Docker-compose`
|
||||||
- 在 `docker\dev` 目录下执行 `docker-compose up` 可初始化 `redis` 和 `mysql` 环境
|
- 在 `docker\dev` 目录下执行 `docker-compose up` 可初始化 `redis` 和 `mysql` 环境
|
||||||
- 如需修改相关配置,请编辑 `docker\dev` 目录下的 `docker-compose.yml` 文件
|
- 如需修改相关配置,请编辑 `docker\dev` 目录下的 `docker-compose.yml` 文件
|
||||||
|
|
||||||
## 手动初始化数据库
|
### 初始化数据库
|
||||||
|
|
||||||
|
在配置好 Mysql 和 Redis 的环境之后,在运行项目前,你还需要初始化好数据库中数据。通过执行 `src/main/resources/static`
|
||||||
|
目录下的 `forest.sql` 文件进行数据库初始化操作。
|
||||||
|
|
||||||
![forest-sql](https://static.rymcu.com/article/1650261394563.png)
|
![forest-sql](https://static.rymcu.com/article/1650261394563.png)
|
||||||
|
|
||||||
执行 `resources/static` 目录下的 `forest.sql` 文件进行数据库初始化操作
|
### 配置文件说明
|
||||||
|
|
||||||
## 配置文件说明
|
在初始化好数据库之后,你需要在`application.yml`中进行基本信息的配置,具体分为如下几个部分。
|
||||||
|
|
||||||
|
#### 数据库配置
|
||||||
|
|
||||||
### 数据库配置
|
|
||||||
```yaml
|
```yaml
|
||||||
datasource:
|
datasource:
|
||||||
url: jdbc:mysql://localhost:3306/forest?characterEncoding=UTF-8&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true
|
url: jdbc:mysql://localhost:3306/forest?characterEncoding=UTF-8&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true
|
||||||
username: root
|
username: root
|
||||||
password: # 数据库密码
|
password: # 数据库密码
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
```
|
```
|
||||||
|
|
||||||
- `characterEncoding` 指定处理字符的解码和编码的格式
|
- `characterEncoding` 指定处理字符的解码和编码的格式
|
||||||
- `serverTimezone` 指定时区
|
- `serverTimezone` 指定时区
|
||||||
- `allowMultiQueries` 允许多行 `sql` 一起执行
|
- `allowMultiQueries` 允许多行 `sql` 一起执行
|
||||||
### redis 配置
|
|
||||||
|
#### redis 配置
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
redis:
|
redis:
|
||||||
host: 127.0.0.1
|
host: 127.0.0.1
|
||||||
@ -51,7 +74,9 @@ redis:
|
|||||||
max-idle: 500
|
max-idle: 500
|
||||||
min-idle: 0
|
min-idle: 0
|
||||||
```
|
```
|
||||||
### 邮箱服务配置
|
|
||||||
|
#### 邮箱服务配置
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
mail:
|
mail:
|
||||||
host: smtp.163.com # 网站发送邮件邮箱服务 host
|
host: smtp.163.com # 网站发送邮件邮箱服务 host
|
||||||
@ -60,16 +85,19 @@ mail:
|
|||||||
password: # 密码
|
password: # 密码
|
||||||
```
|
```
|
||||||
|
|
||||||
用户注册及找回密码时使用,本项目使用的是网易邮箱,其他邮箱可根据官方教程配置
|
用户注册及找回密码时使用,本项目使用的是网易邮箱,其他邮箱可根据官方教程配置。
|
||||||
|
|
||||||
|
#### 系统资源路径配置
|
||||||
|
|
||||||
### 系统资源路径配置
|
|
||||||
```yaml
|
```yaml
|
||||||
resource:
|
resource:
|
||||||
domain: http://yourdomain.com # 网站域名,本地测试时填写前端项目访问地址即可
|
domain: http://yourdomain.com # 网站域名,本地测试时填写前端项目访问地址即可
|
||||||
file-path: http://yourdomain.com # 上传文件前缀域名,本地测试时填写前端项目访问地址即可
|
file-path: http://yourdomain.com # 上传文件前缀域名,本地测试时填写前端项目访问地址即可
|
||||||
pic-path: /yoursrc/xx/nebula/static # 上传文件存储地址,本地测试时填写前端项目路径下的 static 目录即可
|
pic-path: /yoursrc/xx/nebula/static # 上传文件存储地址,本地测试时填写前端项目路径下的 static 目录即可
|
||||||
```
|
```
|
||||||
### 百度相关配置
|
|
||||||
|
#### 百度相关配置(可选择)
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
baidu:
|
baidu:
|
||||||
data:
|
data:
|
||||||
@ -81,8 +109,15 @@ baidu:
|
|||||||
secretKey: xxxx # 百度AI-文字识别 应用 secretKey
|
secretKey: xxxx # 百度AI-文字识别 应用 secretKey
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 运行项目
|
||||||
|
|
||||||
|
在你完成了前面的操作之后,就可以直接运行`ForestApplication.java`启动项目了,至此,如果后端项目已经成功启动,则可以切换到
|
||||||
|
[nebula](https://github.com/rymcu/nebula)运行 前端项目了。
|
||||||
|
|
||||||
## 常见问题
|
## 常见问题
|
||||||
**Q: 找不到数据库配置,Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.**
|
|
||||||
|
**Q: 找不到数据库配置,Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource
|
||||||
|
could be configured.**
|
||||||
|
|
||||||
A: 检查是否配置了资源文件目录
|
A: 检查是否配置了资源文件目录
|
||||||
|
|
||||||
@ -91,7 +126,8 @@ A: 检查是否配置了资源文件目录
|
|||||||
**Q: Caused by: java.lang.IllegalArgumentException: Failed to decrypt.
|
**Q: Caused by: java.lang.IllegalArgumentException: Failed to decrypt.
|
||||||
Caused by: java.lang.IllegalArgumentException: String length must be a multiple of four.**
|
Caused by: java.lang.IllegalArgumentException: String length must be a multiple of four.**
|
||||||
|
|
||||||
A: 这种情况一般是发生在你使用`application-dev.yml`启动项目的时候,里面在druid初始化的时候你需要修改一下相关的参数,具体如下:
|
A: 这种情况一般是发生在你使用`application-dev.yml`
|
||||||
|
启动项目的时候,里面在druid初始化的时候你需要修改一下相关的参数,具体如下:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
spring:
|
spring:
|
||||||
|
@ -9,6 +9,7 @@ services:
|
|||||||
- "6379:6379"
|
- "6379:6379"
|
||||||
volumes:
|
volumes:
|
||||||
- "redis-volume:/data"
|
- "redis-volume:/data"
|
||||||
|
# default password: d9d2j9w2
|
||||||
command: redis-server --requirepass d9d2j9w2 --appendonly yes
|
command: redis-server --requirepass d9d2j9w2 --appendonly yes
|
||||||
environment:
|
environment:
|
||||||
- TZ=Asia/Shanghai
|
- TZ=Asia/Shanghai
|
||||||
@ -23,6 +24,7 @@ services:
|
|||||||
- "mysql8-volume:/var/lib/mysql"
|
- "mysql8-volume:/var/lib/mysql"
|
||||||
- "mysql8-volume:/logs"
|
- "mysql8-volume:/logs"
|
||||||
environment:
|
environment:
|
||||||
|
# user: root,password:XzHvhX4CDaN696oQAXdmlcsrqgWbkxRl
|
||||||
- MYSQL_ROOT_PASSWORD=XzHvhX4CDaN696oQAXdmlcsrqgWbkxRl
|
- MYSQL_ROOT_PASSWORD=XzHvhX4CDaN696oQAXdmlcsrqgWbkxRl
|
||||||
- TZ=Asia/Shanghai
|
- TZ=Asia/Shanghai
|
||||||
command: ["--default-authentication-plugin=mysql_native_password", "--init-file=/forest.sql"]
|
command: ["--default-authentication-plugin=mysql_native_password", "--init-file=/forest.sql"]
|
||||||
|
Loading…
Reference in New Issue
Block a user