Skip to content

编译 TBMQ ​

正文与配图来自原稿(早期 1.0.0 构建记录)。新版本 Node/Gradle 号可能不同,以你检出分支的 frontend-maven-plugin / wrapper 配置为准,思路相同:代理失败就手动放进 Maven / Gradle 本地缓存。

1、下载源码 ​

从官方仓库获取:thingsboard/tbmq。克隆或下载 release 包后解压:

源码目录

建议:

bash
git clone -b release-2.4.1 https://github.com/thingsboard/tbmq.git
# 分支名换成你需要的版本

2、编译 ​

在 管理员 CMD / 有权限的终端 进入工程根目录:

bash
mvn clean install -DskipTests

需要本机已配置 JDK(新版本多为 17)与 Maven。

3、常见失败:下载 Node 超时 ​

ui-ngx 模块用 frontend-maven-plugin 拉 Node,网络不通时类似:

text
Could not download Node.js from: https://nodejs.org/dist/v12.16.1/win-x64/node.exe
Connection timed out

编译失败

处理:

  1. 浏览器打开报错里的 URL,下载对应 node.exe。
  2. 放到 Maven 本地仓库对应目录(报错日志里有完整路径),例如原稿:
text
{MAVEN_REPO}/com/github/eirslett/node/12.16.1/node-12.16.1-win-x64.exe
  1. 文件名必须与插件期望一致(如 node-12.16.1-win-x64.exe)。

手动放入 Node

版本号随项目变化:以当前日志为准,不要死记 12.16.1。

4、解决 Yarn 下载失败 ​

同样由 frontend 插件下载,例如:

text
Downloading https://github.com/yarnpkg/yarn/releases/download/v1.22.4/yarn-v1.22.4.tar.gz
→ {MAVEN_REPO}/com/github/eirslett/yarn/1.22.4/yarn-1.22.4.tar.gz

浏览器下载后改名为 yarn-1.22.4.tar.gz 放入该目录:

Yarn 缓存

5、解决 Gradle Wrapper 下载失败 ​

UI 构建可能再拉 Gradle 发行包,超时则:

  1. 打开日志中的链接(如 https://services.gradle.org/distributions/gradle-7.3.3-bin.zip)下载。
  2. 放到用户目录下 wrapper dists 对应哈希文件夹,例如:
text
C:\Users\<你>\.gradle\wrapper\dists\gradle-7.3.3-bin\<随机哈希>\

Gradle 报错

放入 dists

按原稿:将 zip 解压得到的 gradle-7.3.3 内容整理到该哈希目录期望的结构后,再重新 mvn clean install -DskipTests。

也可从失败模块续编:

bash
mvn <args> -rf :ui-ngx

6、编译成功 ​

全部模块 SUCCESS 即完成:

编译成功

产物含应用 JAR、(若启用)Docker 相关模块等。本地 IDEA 跑库与启动见下一篇:初始化数据库并启动。只想快速体验可不编译,直接用官方 Docker 脚本:服务器部署。

7、小结 ​

Windows 编译卡点几乎都是 Node / Yarn / Gradle 下载;代理或手动缓存进 Maven / .gradle 即可。版本号跟着分支走,对照日志路径操作最稳。