 # `Know Streaming` 源码编译打包手册 ## 1、环境信息 **系统支持** `windows7+`、`Linux`、`Mac` **环境依赖** - Maven 3.6.3 (后端) - Node v12.20.0/v14.17.3 (前端) - Java 8+ (后端) - Git ## 2、编译打包 整个工程中,除了`km-console`为前端模块之外,其他模块都是后端工程相关模块。 因此,如果前后端合并打包,则打对整个工程进行打包;如果前端单独打包,则仅打包 `km-console` 中的代码;如果是仅需要后端打包,则在顶层 `pom.xml` 中去掉 `km-console`模块,然后进行打包。 具体见下面描述。 ### 2.1、前后端合并打包 1. 下载源码; 2. 进入 `KS-KM` 工程目录,执行 `mvn -Prelease-package -Dmaven.test.skip=true clean install -U` 命令; 3. 打包命令执行完成后,会在 `km-dist/target` 目录下面生成一个 `KnowStreaming-*.tar.gz` 的安装包。 ### 2.2、前端单独打包 1. 下载源码; 2. 跳转到 [前端打包构建文档](https://github.com/didi/KnowStreaming/blob/master/km-console/README.md) 按步骤进行。打包成功后,会在 `km-rest/src/main/resources` 目录下生成名为 `templates` 的前端静态资源包; 3. 如果上一步过程中报错,请查看 [FAQ](https://github.com/didi/KnowStreaming/blob/master/docs/user_guide/faq.md) 第 8.10 条; ### 2.3、后端单独打包 1. 下载源码; 2. 修改顶层 `pom.xml` ,去掉其中的 `km-console` 模块,如下所示; ```xml <modules> <!-- <module>km-console</module>--> <module>km-common</module> <module>km-persistence</module> <module>km-core</module> <module>km-biz</module> <module>km-extends/km-account</module> <module>km-extends/km-monitor</module> <module>km-extends/km-license</module> <module>km-extends/km-rebalance</module> <module>km-task</module> <module>km-collector</module> <module>km-rest</module> <module>km-dist</module> </modules> ``` 3. 执行 `mvn -U clean package -Dmaven.test.skip=true`命令; 4. 执行完成之后会在 `KS-KM/km-rest/target` 目录下面生成一个 `ks-km.jar` 即为 KS 的后端部署的 Jar 包,也可以执行 `mvn -Prelease-package -Dmaven.test.skip=true clean install -U` 生成的 tar 包也仅有后端服务的功能;