thingsboard源码编译启动
开发环境
不同的版本对应的开发环境不同(这里以3.3.3版本说明)
- jdk11+:参考jdk11+安装(win)
- Maven3.6+:Maven安装配置
- Git:参考Git安装
- IDEA: 参考IDEA安装
- PostgreSQL11.7+:参考postgresql安装(windows)
源码拉取
GitHub或者Gitee搜索thingsboard,复制链接地址进行拉取。
GitHub拉取
GitHub项目地址:https://github.com/thingsboard/thingsboard
# GitHub拉取
git clone https://github.com/thingsboard/thingsboard.git
Gitee拉取
Gitee项目地址:https://gitee.com/mirrors/ThingsBoard?_from=gitee_search
# Gitee拉取
git clone https://gitee.com/mirrors/ThingsBoard.git
编译
前提:maven已经安装并且已经配置完毕
附上个人使用的配置文件(注意:记得修改56行的安装路径)
链接:https://pan.baidu.com/s/1lY1o43-oeocCa2GFCcJ2gg
提取码:1024
在cmd到TH项目根路径下运行如下命令:
mvn clean install -DskipTests --settings <配置文件路径>
在编译的过程中可能会出现错误(找不到jar包 或者 网络错误),根据出现的错误进行修改。
经过漫长的等待......

导入IDEA
- 设置maven配置文件,选择编译时使用的maven配置文件。
- 使用idea打开项目文件,等待文件加载完成
- 经过漫长的等待.....
导入测试数据
前提:已安装postgresql11.7+
pg用户
创建新的pgSQL用户
或者直接使用postgres用户
pg数据库
创建thingsboard数据库,并指定用户
修改配置文件
thingsboard\application\src\mian\rescoures\thingsboard.yml,找到# SQL DAO Configuration,大约在590行左右
上面省略.....
# SQL DAO Configuration
spring:
data:
jpa:
repositories:
enabled: "true"
jpa:
open-in-view: "false"
hibernate:
ddl-auto: "none"
database-platform: "${SPRING_JPA_DATABASE_PLATFORM:org.hibernate.dialect.PostgreSQLDialect}"
datasource:
driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.postgresql.Driver}"
# url: "${SPRING_DATASOURCE_URL:jdbc:postgresql://地址:端口/数据库名字}"
url: "${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/thingsboard}"
# username: "${SPRING_DATASOURCE_USERNAME:数据库用户名}"
username: "${SPRING_DATASOURCE_USERNAME:postgres}"
# password: "${SPRING_DATASOURCE_PASSWORD:数据库密码}"
password: "${SPRING_DATASOURCE_PASSWORD:postgres}"
hikari:
maximumPoolSize: "${SPRING_DATASOURCE_MAXIMUM_POOL_SIZE:16}"
下面省略......
导入测试数据
cmd运行thingsboard\application\target\windoes目录下的install_dev_db.bat,显示数据导入成功说明数据导入完成。

启动(见证奇迹)
见证奇迹
- 切换至IDEA
- 运行
thingsboard\application\src\mian\java\org.thingsboard.server\ThingsboardServerAPPlocation文件 - 一次不太漫长的等待
- 在浏览器访问
localhost:8080或者127.0.0.1:8080(本地访问)

账户/密码
官方提供的三个账号
| 账号 | 密码 | 说明 |
|---|---|---|
| sysadmin@thingsboard.org | sysadmin | 系统管理员 |
| tenant@thingsboard.org | tenant | 租户 |
| customer@thingsboard.org | customer | 客户 |
thingsboard源码编译启动的更多相关文章
- Thingsboard源码编译,小白新坑随笔
在Thingsboard源码编译过程中,遇见的问题总结: 1.Thingsboard Server UI 模块编译,无法执行“npm install ”:出现错误信息:Failed to execut ...
- 深入出不来nodejs源码-编译启动(1)
整整弄了两天,踩了无数的坑,各种奇怪的error,最后终于编译成功了. 网上的教程基本上都过时了,或者是版本不对,都会报一些奇怪的错误,这里总结一下目前可行的流程. node版本:v10.1.0. 首 ...
- 浅析libuv源码-编译启动
面试的间隙回头复习了一下node,感觉node就像一个胶带,把V8和libuv粘在了一起. V8毫无疑问,负责解析执行JavaScript,相当于语言层面的桥梁:而libuv则是负责操作系统底层功能的 ...
- Mysql 5.7源码编译启动 报error问题:The server quit without updating PID file (/data/data_mysql/mysql.pid).
一般是报error问题就是我们的mysql没有权限,这里主要是指三点:一个是mysql的安装主目录要设为mysql用户和用户组.一个是logs目录设置为mysql用户以及用户组.还有一个是data目录 ...
- 源码编译安装nginx及设置开机启动项
1.上传nginx文档:解压到/data目录下,并安装依赖包tar xf nginx-1.20.1.tar.gz -C /data/cd /data/nginx-1.20.1/ && ...
- SSH/SSL 源码编译安装简易操作说明
环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...
- Hadoop源码编译过程
一. 为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通 ...
- 源码编译安装 MySQL 5.5.x 实践
1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...
- 烂泥:mysql5.5数据库cmake源码编译安装
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开 ...
随机推荐
- JAVA通过身份证号码获取出生日期、年龄、性别
JAVA验证身份证号码是否正确:https://www.cnblogs.com/pxblog/p/12038278.html /** * 通过身份证号码获取出生日期(birthday).年龄(age) ...
- JAVA判断某个元素是否在某个数组中
先把数组转为list 然后再利用contains方法 String[] strArr = new String[] { "a1", "b1", "c1 ...
- 【LeetCode】503. Next Greater Element II 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 暴力解法 单调递减栈 日期 题目地址:https:/ ...
- spoj-ORDERS - Ordering the Soldiers
ORDERS - Ordering the Soldiers As you are probably well aware, in Byteland it is always the military ...
- MySQL 尽量避免使用 TIMESTAMP
MySQL 中常见的时间类型有三种DATE, DATETIME和 TIMESTAMP,其中DATE类型用于表示日期,但是不会包含时间,格式为YYYY-MM-DD,而DATETIME和TIMESTAMP ...
- Chapter 22 Target Trial Emulation
目录 22.1 The target trial 22.2 Causal effects in randomized trails 22.3 Causal effects in observation ...
- 云南农职《JavaScript交互式网页设计》 综合机试试卷②——实现轮播图效果
一.语言和环境 实现语言:HTML,CSS,JavaScript,JQuery. 开发环境:HBuilder. 二.题目(100分): 使用JQuery淡入淡出动画,实现轮播图效果 每隔2秒钟切换一张 ...
- python 面向对象:封装---对象的属性可以是另一个类创建的对象
# 对象封装:对象的属性可以是另一个类创建的对象 # 案例需求: # 1.士兵许三多有一把AK47 # 2.士兵用枪射击标靶 # 3.枪能装填和发射子弹 class Gun: # 分析: # 枪的属性 ...
- Visual Studio Code常用插件(持续更新)
1.open in browser:使用快捷键在浏览器中打开html页面 在默认浏览器中打开html页面是Alt+B:在其他浏览器中显示是Shift+Alt+B:也可以右键单击html文件,在弹出的窗 ...
- Go语言系列之time
time包是go语言的内置库,提供了时间的显示和测量用的函数.日历的计算采用的是公历. 一.时间类型 time.Time类型表示时间.我们可以通过time.Now()函数获取当前的时间对象,然后获取时 ...