产品定价 立即试用
社区版
安装 > 本地部署 > 源码安装
入门 文档 指南
架构 API 常见问题
目录

源码安装

本指南将帮助您下载并从源码构建ThingsBoard。

以下说明已在Ubuntu 24.04 LTS和CentOS 8/9上验证通过。


必备工具

本节包含构建工具的安装说明。

Java
ThingsBoard使用Java 17构建。

按以下说明安装Java 17:

验证安装:

1
java -version

Maven
ThingsBoard需要Maven 3.1.0或更高版本。

1
sudo apt-get install maven
1
sudo yum install maven

注意:在某些Linux机器上,安装Maven可能会将Java 7设为默认JVM。如果发生这种情况,请重新配置系统以使用Java 17。


源代码

文档信息图标

重要: 在Windows上构建Docker镜像需要使用LF行尾符。

要构建Docker镜像,某些将成为Docker镜像一部分的脚本、配置文件和源代码必须使用LF行尾符。

因此,在克隆仓库之前,请将Git的core.autocrlf配置选项设置为_input_。

例如,全局设置core.autocrlf

git config --global core.autocrlf input

未正确设置可能会导致运行Docker镜像时出现运行时错误。

从GitHub克隆ThingsBoard仓库

1
2
3
# checkout latest release branch
git clone -b release-4.3 https://github.com/thingsboard/thingsboard.git --depth 1
cd thingsboard

构建项目

在项目根目录下执行:

1
mvn clean install -DskipTests

此命令将:

  • 构建项目
  • 跳过单元测试和集成测试
  • 生成安装包

构建本地Docker镜像(可选)

文档信息图标

重要: 在Windows上构建Docker镜像需要使用LF行尾符。

要构建Docker镜像,某些将成为Docker镜像一部分的脚本、配置文件和源代码必须使用LF行尾符。

因此,在克隆仓库之前,请将Git的core.autocrlf配置选项设置为_input_。

例如,全局设置core.autocrlf

git config --global core.autocrlf input

未正确设置可能会导致运行Docker镜像时出现运行时错误。

要构建ThingsBoard服务的本地Docker镜像,请确保已安装Docker

然后执行:

1
mvn clean install -DskipTests -Ddockerfile.skip=false

可使用以下命令列出Docker镜像:

1
docker images

构建产物

构建成功后,安装包位于:

1
application/target

该目录包含:

  • .deb包,适用于Debian/Ubuntu
  • .rpm包,适用于CentOS/RHEL
  • Windows安装包

运行测试(可选)

需要安装DockerDocker Compose。请确保Docker已配置为非 root用户运行

注意: master和release分支已经过测试,因此您可以跳过测试,无需安装Docker。

单元测试和集成测试

运行所有单元测试和集成测试:

1
mvn clean install

黑盒测试

黑盒测试位于https://github.com/thingsboard/thingsboard/tree/master/msa/black-box-tests

请按照对应的README中的说明执行。

预计运行时间约为1小时,取决于硬件性能。

提示与技巧

从ThingsBoard源码构建在全新环境上非常简单。

以下是一些提升构建体验的提示和技巧:

  • 清除Maven缓存
    1
    
    rm -rf ~/.m2/repository
    
  • 清除Gradle缓存
    1
    
    rm -rf ~/.gradle/caches/
    
  • 清除node modules
    1
    
    rm -rf ui-ngx/node_modules
    
  • 并行构建、格式化头文件、构建Docker镜像
    1
    
    mvn -T 0.8C license:format clean install -DskipTests -Ddockerfile.skip=false
    

常见构建和运行错误

Docker运行时错误

如果运行本地构建的Docker镜像时出现以下错误:

1
Standard_init_linux.go:175 exec user process caused no such file

这通常表明行尾符设置不正确。

解决方案:

  • 重新配置Git使用LF行尾符
  • 重新克隆仓库
  • 重新构建Docker镜像

详情请参考上方源代码章节。