thingsboard 安装和源码编译

博客介绍Java安装需用Java 8,编译出错可重启电脑运行特定命令。还分享了将自己编译打包的ThingsBoard文件发布到Linux的安装问题,如遇到ServletWebServerFactory bean缺失,通过修改文件格式为Linux标准,最终成功安装,也提到可批量转换文件格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

详细的可以参考这个链接,https://www.cppentry.com/bencandy.php?fid=114&id=211472

 

值得注意的是java 需要安装java 8. Java9 会出错。

在编译的时候如果遇到错误,需要详细看一下报错内容,如果是一些奇怪的报错,可以重启电脑,再运行 mvn clean install -DskipTests。 可能就好了。

补充, 最近又捣鼓了一下thingsboard, 因为我想把自己编译打包的文件给发布到linux, 以获得最快的运行速度。发现安装的时候也没说安装成功,看了一下log ,

/var/log/thingsboard/thingsboard.log 

提示什么“Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean”, 看了很多人的解决办法, 有的说要配置什么config, 也有的说要去掉什么依赖, 但不适合我,他们的情况是再window下边都运行不起来; 我的是再windows 可以运行的。于是乎心有不甘,又去看了一下官网的安装指引:https://thingsboard.io/docs/user-guide/install/ubuntu/

突然发现在执行 install.sh 的时候 报一个说,大意是bash 不能识别。这下我心里乐呵了一下,这个是由于windows 过来的文件格式不符合linux标准,所以我就chmod 777 install.sh ; vi install.sh; :set ff=linux; :wq ,   很快就解决了这个问题。

但是在运行安装脚本发现脚本不报错了,ServletWebServerFactory bean依然存在. 

奇怪,然后我就想,是不是其他关键的配置文件也会存在格式问题,所以我就试试的态度,找了一下配置文件: cd /; find ./ | grep thingsboard.yml ;   

然后看到有两个文件: 

./usr/share/thingsboard/conf/thingsboard.yml
./usr/share/thingsboard/bin/thingsboard.yml

还有这个也改一下啊

./usr/share/thingsboard/conf/thingsboard.conf 

都给vi 打开, 设置了一下格式 :set ff=linux , 然后保存wq;

再次安装,提示安装成功。

 

后来经过群里边大佬讨论,可以采用命令,批量转换: find /usr/share/thingbaord | xargs dos2unix,也可以。

<think>好的,用户需要编译ThingsBoard 4.0的源码,我应该先回忆之前提供的引用内容。根据引用[1],B站有一个课程讲解了ThingsBoard的本地后端源码编译,可能包含4.0版本的步骤。用户可能已经看过基础教程,但需要针对4.0的特定指导。 首先,我需要检查用户提供的引用是否有涉及4.0的内容。引用[1]中的视频是3、ThingsBoard本地后端源码编译,但可能不是4.0。可能需要建议用户查看该课程是否有更新,或者官方文档是否有变化。 然后,常规的编译步骤包括安装JDK、Maven,配置环境变量,下载源码,修改配置文件,运行Maven命令。但不同版本可能有差异,比如4.0可能需要Java 11或更高,Maven 3.6+,Node.js版本可能也有要求。 需要注意用户是否遇到依赖问题或构建错误,比如前端编译可能需要npm installbuild,后端可能需要处理Spring Boot的配置。此外,数据库初始化也是关键,可能需要运行SQL脚本或使用Flyway迁移。 如果用户已经尝试过但失败,可能需要具体错误信息来诊断。比如,Maven依赖下载失败,可以建议换仓库或检查网络。前端编译错误可能需要检查Node版本或依赖冲突。 最后,建议用户参考官方GitHub的README官方文档,确保步骤正确。同时,引用[1]的课程可能仍然有用,因为编译流程可能有相似之处,即使版本不同。</think>根据ThingsBoard 4.0的源码编译需求,以下是详细操作指南: ### 一、编译环境准备 1. **JDK 11+**:必须安装OpenJDK 11或更高版本 ```bash sudo apt install openjdk-11-jdk ``` 2. **Maven 3.6+**:编译Java项目的依赖管理工具 ```bash sudo apt install maven ``` 3. **Node.js 14+**:前端编译需要 ```bash curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt install nodejs ``` ### 二、源码获取与配置 1. 克隆官方仓库(注意添加`-b release-4.0`指定分支) ```bash git clone -b release-4.0 https://github.com/thingsboard/thingsboard.git ``` 2. 修改配置文件`application.properties` ```properties spring.datasource.url=jdbc:postgresql://localhost:5432/thingsboard spring.datasource.username=postgres spring.datasource.password=your_password ``` ### 三、编译步骤 1. **后端编译**(约需15-30分钟) ```bash mvn clean install -DskipTests ``` 出现`BUILD SUCCESS`表示成功,生成的war包路径: ```bash application/target/thingsboard-4.0.0-SNAPSHOT-boot.jar ``` 2. **前端编译**(需先安装依赖) ```bash cd ui-ngx npm install npm run build ``` ### 四、数据库初始化 1. PostgreSQL创建数据库 ```sql CREATE DATABASE thingsboard; ``` 2. 执行Flyway数据库迁移 ```bash java -jar application/target/thingsboard-4.0.0-SNAPSHOT-boot.jar ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值