--- id: development title: 如何将 HertzBeat 运行编译? sidebar_label: 运行编译 --- ## 让 HertzBeat 运行起来 > 让 HertzBeat 的代码在您的开发工具上运行起来,并且能够断点调试。 > 此为前后端分离项目,本地代码启动需将后端 [manager](https://github.com/apache/hertzbeat/tree/master/hertzbeat-manager) 和前端 [web-app](https://github.com/apache/hertzbeat/tree/master/web-app) 分别启动生效。 ### 后端启动 1. 需要 `maven3+`, `java25` 和 `lombok` 环境 2. (可选)修改配置文件配置信息-`hertzbeat-startup/src/main/resources/application.yml` 3. 在项目根目录运行编译: `mvn clean install -DskipTests` 4. 在 `jvm` 加入参数 `--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED` 5. 启动`springboot startup`服务 `hertzbeat-startup/src/main/java/org/apache/hertzbeat/startup/HertzBeatApplication.java` ### 前端启动 1. 需要 `nodejs pnpm` 环境, 版本要求 `Node.js >= 18` 2. 进入 `web-app` 目录: `cd web-app` 3. 安装pnpm: `npm install -g pnpm` 4. 在前端工程目录 `web-app` 下执行: `pnpm install` 或者 `pnpm install --registry=https://registry.npmmirror.com` 5. 待本地后端启动后,在web-app目录下启动本地前端 `pnpm start` 6. 浏览器访问 localhost:4200 即可开始,默认账号密码 admin/hertzbeat ## 生成二进制包 > 需要 `maven3+`, `java25`, `node` 和 `pnpm` 环境. ### 前端打包 1. 需要 `Node pnpm` 环境, 版本要求 `Node.js >= 18` 2. 切换到 `web-app` 目录: `cd web-app` 3. 安装 pnpm: `npm install -g pnpm` 4. 安装本项目依赖: `pnpm install` 或 `pnpm install --registry=https://registry.npmmirror.com` 5. 打包: `pnpm package` ### 后端打包 1. 需要 `maven3+`, `java25` 环境 2. 在项目根目录运行: `mvn clean package -Prelease` HertzBeat 包将生成为 `dist/apache-hertzbeat-{version}-bin.tar.gz` ### 采样器打包 1. 需要 `maven3+`, `java25` 环境 2. 在项目根目录运行: `mvn clean install` 3. 切换到 `hertzbeat-collector` 目录: `cd hertzbeat-collector` 4. 在 `hertzbeat-collector` 目录下打 JVM 采集器安装包: `mvn clean package -Pcluster` 5. 在 `hertzbeat-collector` 目录下打 Native 采集器安装包: `mvn clean package -pl hertzbeat-collector-collector -am -Pnative` > Native 采集器打包需要带有 `native-image` 命令的 GraalVM JDK 25 环境。 HertzBeat 采集器安装包将生成为 `dist/apache-hertzbeat-collector-{version}-bin.tar.gz`,以及类似 `dist/apache-hertzbeat-collector-native-{version}-linux-amd64-bin.tar.gz` 这样的 Native 平台安装包