## 6.1、本地源码启动手册

### 6.1.1、打包方式

`Know Streaming` 采用前后端分离的开发模式，使用 Maven 对项目进行统一的构建管理。maven 在打包构建过程中，会将前后端代码一并打包生成最终的安装包。

`Know Streaming` 除了使用安装包启动之外，还可以通过本地源码启动完整的带前端页面的项目，下面我们正式开始介绍本地源码如何启动 `Know Streaming`。

### 6.1.2、环境要求

**系统支持**

`windows7+`、`Linux`、`Mac`

**环境依赖**

- Maven 3.6.3
- Node v12.20.0
- Java 8+
- MySQL 5.7
- Idea
- Elasticsearch 7.6
- Git

### 6.1.3、环境初始化

安装好环境信息之后，还需要初始化 MySQL 与 Elasticsearch 信息，包括：

- 初始化 MySQL 表及数据
- 初始化 Elasticsearch 索引

具体见：[单机部署手册](../install_guide/单机部署手册.md) 中的最后一步，部署 KnowStreaming 服务中的初始化相关工作。

### 6.1.4、本地启动

**第一步：本地打包**

执行 `mvn install` 可对项目进行前后端同时进行打包，通过该命令，除了可以对后端进行打包之外，还可以将前端相关的静态资源文件也一并打包出来。

**第二步：修改配置**

```yaml
# 修改 km-rest/src/main/resources/application.yml 中相关的配置

# 修改MySQL的配置，中间省略了一些非必需修改的配置
spring:
  datasource:
    know-streaming:
      jdbc-url: 修改为实际MYSQL地址
      username: 修改为实际MYSQL用户名
      password: 修改为实际MYSQL密码
  logi-job:
    jdbc-url: 修改为实际MYSQL地址
    username: 修改为实际MYSQL用户名
    password: 修改为实际MYSQL密码
  logi-security:
    jdbc-url: 修改为实际MYSQL地址
    username: 修改为实际MYSQL用户名
    password: 修改为实际MYSQL密码

# 修改ES的配置，中间省略了一些非必需修改的配置
es.client.address: 修改为实际ES地址
```

**第三步：配置 IDEA**

`Know Streaming`的 Main 方法在：

```java
km-rest/src/main/java/com/xiaojukeji/know/streaming/km/rest/KnowStreaming.java
```

IDEA 更多具体的配置如下图所示：

<p align="center">
<img src="http://img-ys011.didistatic.com/static/dc2img/do1_BW1RzgEMh4n6L4dL4ncl" width = "512" height = "318" div align=center />
</p>

**第四步：启动项目**

最后就是启动项目，在本地 console 中输出了 `KnowStreaming-KM started` 则表示我们已经成功启动 `Know Streaming` 了。

### 6.1.5、本地访问

`Know Streaming` 启动之后，可以访问一些信息，包括：

- 产品页面：http://localhost:8080 ，默认账号密码：`admin` / `admin2022_` 进行登录。`v3.0.0-beta.2`版本开始，默认账号密码为`admin` / `admin`；
- 接口地址：http://localhost:8080/swagger-ui.html 查看后端提供的相关接口。

更多信息，详见：[KnowStreaming 官网](https://knowstreaming.com/)