2019-06-05 07:58:41 +08:00
|
|
|
|
> 艿艿:本文暂时会写的比较简洁,如果有不懂的地方,请来[「交流群」](http://www.iocoder.cn/mall-user-group/?vip&gitee),艿艿来帮你解决。
|
|
|
|
|
>
|
|
|
|
|
> 交流群,我们提供了我们自己在使用的开发环境,搭建调试环境会更简便。
|
|
|
|
|
|
2019-04-28 19:40:27 +08:00
|
|
|
|
# 1. 概述
|
|
|
|
|
|
|
|
|
|
> 艿艿:本文暂时会写的比较简洁,如果有不懂的地方,请来[「交流群」](http://www.iocoder.cn/mall-user-group/?vip&gitee),艿艿来帮你解决。
|
|
|
|
|
|
|
|
|
|
本文,我们希望能带着胖友,快速搭建一个开发/调试环境。总的来说,我们需要安装如下东西:
|
|
|
|
|
|
|
|
|
|
* 后端
|
|
|
|
|
* JDK 8+
|
|
|
|
|
* Maven
|
|
|
|
|
* IntelliJ IDEA
|
|
|
|
|
|
|
|
|
|
* 前端
|
|
|
|
|
* NPM
|
|
|
|
|
|
|
|
|
|
# 2. 源码拉取
|
|
|
|
|
|
2019-04-28 22:15:06 +08:00
|
|
|
|
使用 IntelliJ IDEA 从 <https://gitee.com/zhijiantianya/onemall> 。拉取完成后,Maven 会下载依赖包,可能会花费一些时间,耐心等待下。
|
2019-04-28 19:40:27 +08:00
|
|
|
|
|
|
|
|
|
> 艿艿:也不要瞎等,咱继续顺着本文往下走。
|
|
|
|
|
|
|
|
|
|
# 3. MySQL
|
|
|
|
|
|
|
|
|
|
① 安装 MySQL 数据库
|
|
|
|
|
|
|
|
|
|
* Windows :参考 [《Windows 安装 MySQL》](https://juejin.im/post/5bdab0645188251e753c66f8)
|
|
|
|
|
* Mac :参考 [《Mac 下安装与配置 MySQL》](https://www.jianshu.com/p/a8e4068a7a8a)
|
|
|
|
|
|
|
|
|
|
② 导入 SQL
|
|
|
|
|
|
2019-04-28 22:15:06 +08:00
|
|
|
|
将 [docs/sql](https://gitee.com/zhijiantianya/onemall/tree/master/docs/sql) 下的 SQL ,逐个导入到数据库中。
|
2019-04-28 19:40:27 +08:00
|
|
|
|
|
|
|
|
|
③ 修改项目中的 MySQL 配置
|
|
|
|
|
|
|
|
|
|
在 IDEA 中,搜索每个 `xxx-service-impl` 项目下的 `application.yaml` 文件,将数据库配置修改成连接你的。如下:
|
|
|
|
|
|
|
|
|
|
```YAML
|
|
|
|
|
spring:
|
|
|
|
|
# datasource
|
|
|
|
|
datasource:
|
2020-04-14 20:10:40 +08:00
|
|
|
|
url: jdbc:mysql://s1.iocoder.cn:3306/mall_product?useSSL=false&useUnicode=true&characterEncoding=UTF-8 # 请修改成你本地的 MySQL url
|
2019-04-28 19:40:27 +08:00
|
|
|
|
driver-class-name: com.mysql.jdbc.Driver
|
|
|
|
|
username: root # 请修改成你本地的 MySQL username
|
|
|
|
|
password: ${MALL_MYSQL_PASSWORD} # 请修改成你本地的 MySQL password
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
# 4. Zookeeper
|
|
|
|
|
|
|
|
|
|
① 安装 Zookeeper
|
|
|
|
|
|
|
|
|
|
* Windows :参考 [《Windows 下 ZooKeeper 的配置和启动步骤 —— 单机模式》](https://www.jianshu.com/p/66857cbccbd3)
|
2019-06-07 21:51:29 +08:00
|
|
|
|
* Mac :参考 [《Zookeeper 安装及配置(Mac)》](https://www.jianshu.com/p/0ba61bf7149f)
|
2019-04-28 19:40:27 +08:00
|
|
|
|
|
|
|
|
|
② 修改项目中的 Zookeeper 配置
|
|
|
|
|
|
|
|
|
|
在 IDEA 中,搜索每个 `xxx-service-impl` 项目下的 `application.yaml` 文件,将 Zookeeper 配置修改成连接你的。如下:
|
|
|
|
|
|
|
|
|
|
```YAML
|
|
|
|
|
# dubbo
|
|
|
|
|
dubbo:
|
|
|
|
|
application:
|
|
|
|
|
name: product-service
|
|
|
|
|
registry:
|
|
|
|
|
address: zookeeper://127.0.0.1:2181 # 请修改成你本地的 Zookeeper url
|
|
|
|
|
protocol:
|
|
|
|
|
port: -1
|
|
|
|
|
name: dubbo
|
|
|
|
|
scan:
|
|
|
|
|
base-packages: cn.iocoder.mall.product.service
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
# 5. RocketMQ
|
|
|
|
|
|
|
|
|
|
① 安装 RocketMQ
|
|
|
|
|
|
|
|
|
|
* Windows :参考 [《RocketMQ 入门 —— 安装以及快速入门》](http://www.iocoder.cn/RocketMQ/start/install/?vip&gitee)
|
|
|
|
|
* Mac :参考 [《RocketMQ 入门 —— 安装以及快速入门》](http://www.iocoder.cn/RocketMQ/start/install/?vip&gitee)
|
|
|
|
|
|
|
|
|
|
② 修改项目中的 RocketMQ 配置
|
|
|
|
|
|
|
|
|
|
在 IDEA 中,搜索每个 `xxx-service-impl` 项目下的 `application.yaml` 文件,将 RocketMQ 配置修改成连接你的。如下:
|
|
|
|
|
|
|
|
|
|
```YAML
|
|
|
|
|
rocketmq:
|
|
|
|
|
name-server: 127.0.0.1:9876 # 请修改成你本地的 RocketMQ url
|
|
|
|
|
producer:
|
|
|
|
|
group: product-producer-group
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
# 6. XXL-Job
|
|
|
|
|
|
|
|
|
|
> 艿艿:这个中间件的安装,是可选项。如果不安装,只是定时任务无法执行。
|
|
|
|
|
|
|
|
|
|
TODO 未完成。建议先跳过。
|
|
|
|
|
|
|
|
|
|
① 安装 XXL-Job
|
|
|
|
|
|
|
|
|
|
参考 [《分布式任务调度平台 XXL-JOB》](http://www.xuxueli.com/xxl-job/#/) 官方文档。
|
|
|
|
|
|
|
|
|
|
② 修改项目中的 XXL-Job 配置
|
|
|
|
|
|
|
|
|
|
在 IDEA 中,搜索每个 `xxx-service-impl` 项目下的 `application-dev.yaml` 文件,将 XXL-Job 配置修改成连接你的。如下:
|
|
|
|
|
|
|
|
|
|
```YAML
|
|
|
|
|
# xxl-job
|
|
|
|
|
xxl:
|
|
|
|
|
job:
|
|
|
|
|
admin:
|
|
|
|
|
addresses: http://127.0.0.1:18079/ # 请修改成你本地的 XXL-Job url
|
|
|
|
|
executor:
|
|
|
|
|
appname: pay-job-executor
|
|
|
|
|
ip:
|
|
|
|
|
port: 0
|
|
|
|
|
logpath: /Users/yunai/logs/xxl-job/ # 请修改成你希望存放日志的目录
|
|
|
|
|
logretentiondays: 1
|
|
|
|
|
accessToken:
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
③ 配置项目中的每个作业
|
|
|
|
|
|
|
|
|
|
TODO 芋艿,需要完善
|
|
|
|
|
|
|
|
|
|
# 7. Elasticsearch
|
|
|
|
|
|
|
|
|
|
① 安装 Elasticsearch
|
|
|
|
|
|
|
|
|
|
* Windows :参考 [《ElasticSearch 入门 第一篇:Windows 下安装ElasticSearch》](http://www.cnblogs.com/ljhdo/p/4887557.html)
|
|
|
|
|
* Mac :参考 [《mac 安装 ElasticSearch 笔记》](https://www.jianshu.com/p/81b0b3a60c01)
|
|
|
|
|
|
2019-06-07 21:51:29 +08:00
|
|
|
|
因为需要中文分词,所以需要安装 [elasticsearch-analysis-ik](https://github.com/medcl/elasticsearch-analysis-ik) 插件。
|
|
|
|
|
|
2019-04-28 19:40:27 +08:00
|
|
|
|
② 修改项目中的 Elasticsearch 配置
|
|
|
|
|
|
|
|
|
|
在 IDEA 中,搜索`search-service-impl` 项目下的 `application.yaml` 文件,将 Elasticsearch 配置修改成连接你的。如下:
|
|
|
|
|
|
|
|
|
|
```YAML
|
|
|
|
|
# es
|
|
|
|
|
spring:
|
|
|
|
|
data:
|
|
|
|
|
elasticsearch:
|
|
|
|
|
cluster-name: elasticsearch
|
|
|
|
|
cluster-nodes: 180.167.213.26:9300 # 请修改成你本地的 Elasticsearch url
|
|
|
|
|
repositories:
|
|
|
|
|
enable: true
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
# 8. 启动后端项目
|
|
|
|
|
|
|
|
|
|
在 IDEA 中,右键运行每个 `XXXApplication.java` 。例如说,`admin` 项目是 AdminApplication 。
|
|
|
|
|
|
|
|
|
|
是否启动成功,请查看 IDEA 输出的日志。
|
|
|
|
|
|
|
|
|
|
具体的启动顺序,是:
|
|
|
|
|
|
2019-06-05 07:58:41 +08:00
|
|
|
|
* SystemApplication
|
2019-04-28 19:40:27 +08:00
|
|
|
|
* UserApplication
|
|
|
|
|
* ProductApplication
|
|
|
|
|
* PayApplication
|
|
|
|
|
> 因为支付服务,涉及三方支付平台的配置。所以,需要艿艿后续提供简便的方案。TODO
|
|
|
|
|
|
|
|
|
|
* PromotionApplication
|
|
|
|
|
* OrderApplication
|
2019-06-05 07:58:41 +08:00
|
|
|
|
* SearchApplication
|
2019-04-28 19:40:27 +08:00
|
|
|
|
|
|
|
|
|
# 9. 启动前端项目
|
|
|
|
|
|
|
|
|
|
① 启动商城 H5 项目
|
|
|
|
|
|
|
|
|
|
在 `mobile-web` 项目下,执行 `npm start` 。
|
|
|
|
|
|
|
|
|
|
启动成功后,浏览器访问 <http://127.0.0.1:8000> 。
|
|
|
|
|
|
|
|
|
|
② 启动管理后台项目
|
|
|
|
|
|
|
|
|
|
在 `admin-web` 项目下,执行 `npm run start:no-mock` 。
|
|
|
|
|
|
|
|
|
|
启动成功后,浏览器访问 <http://127.0.0.1:8080> 。
|
|
|
|
|
|
|
|
|
|
# 10. 数据配置
|
|
|
|
|
|
|
|
|
|
TODO 芋艿
|
|
|
|
|
|
|
|
|
|
因为项目该配置完,是没有任何数据的。所以,需要操作对应的功能,添加数据。
|
|
|
|
|
|
|
|
|
|
# 233. 彩蛋
|
|
|
|
|
|
2019-04-28 19:44:38 +08:00
|
|
|
|
> 艿艿:本文暂时会写的比较简洁,如果有不懂的地方,请来[「交流群」](http://www.iocoder.cn/mall-user-group/?vip&gitee),艿艿来帮你解决。
|