工作需要,需要研究一下ThingsBoard;去官网下载最新的 3.3.2 Release 版本开始编译,由于过程太过曲折,踩坑无数耗时一天时间终于编译通过特记录如下。
本机环境准备工作
- 使用openjdk配置jdk11的环境变量,下载地址Adoptium - Open source, prebuilt OpenJDK binariesJava Download | Java 8, Java 11, Java 13 - Linux, Windows & macOSAdoptium - Open source, prebuilt OpenJDK binaries
- 安装git,并配置环境变量(编译过程中需要从git上下载一些资源)
- 安装nodeJs,版本必须是v12.16.1,不然编译不通过。若你本机已经存在nodejs,如果不是指定版本,请卸载之后安装指定版本: Index of /dist/v12.16.1/
- 安装mvn,配置环境变量
下载ThingsBoard3.3.2前端打包时使用的对应包
进入https://github.com/vercel/pkg-fetch/releases
下载node-v12.22.2-win-x64、node-v12.22.2-linux-x64;并重命名为fetched-v12.22.2-linux-x64、fetched-v12.22.2-win-x64。在C:\Users\当前用户 新建文件夹 .pkg-cache\v3.2,把上述两个文件放入该文件夹内
执行
-X来查看调试信息
mvn clean install -DskipTests -X
结束语
在执行编译 Server UI 和 JavaScript Executor Microservice 模块的编译过程中,可能会出现多次的网络超时问题。这没办法解决,需要重新执行maven命令 mvn clean install -DskipTests 重新编译。
网络很重要!网络很重要!网络很重要!
编译过程需要下载大量的资源;要会看错误日志,排除配置问题,如果是网络问题只需要重试即可!