开发环境

不同的版本对应的开发环境不同(这里以3.3.3版本说明)

源码拉取

GitHub或者Gitee搜索thingsboard,复制链接地址进行拉取。

GitHub拉取

GitHub项目地址:https://github.com/thingsboard/thingsboard

  1. # GitHub拉取
  2. git clone https://github.com/thingsboard/thingsboard.git

Gitee拉取

Gitee项目地址:https://gitee.com/mirrors/ThingsBoard?_from=gitee_search

  1. # Gitee拉取
  2. git clone https://gitee.com/mirrors/ThingsBoard.git

编译

前提:maven已经安装并且已经配置完毕

附上个人使用的配置文件(注意:记得修改56行的安装路径)

链接:https://pan.baidu.com/s/1lY1o43-oeocCa2GFCcJ2gg

提取码:1024

在cmd到TH项目根路径下运行如下命令:

  1. mvn clean install -DskipTests --settings <配置文件路径>

在编译的过程中可能会出现错误(找不到jar包 或者 网络错误),根据出现的错误进行修改。

经过漫长的等待......

导入IDEA

  1. 设置maven配置文件,选择编译时使用的maven配置文件。
  2. 使用idea打开项目文件,等待文件加载完成
  3. 经过漫长的等待.....

导入测试数据

前提:已安装postgresql11.7+

pg用户

  • 创建新的pgSQL用户

  • 或者直接使用postgres用户

pg数据库

创建thingsboard数据库,并指定用户

修改配置文件

thingsboard\application\src\mian\rescoures\thingsboard.yml,找到# SQL DAO Configuration,大约在590行左右

  1. 上面省略.....
  2. # SQL DAO Configuration
  3. spring:
  4. data:
  5. jpa:
  6. repositories:
  7. enabled: "true"
  8. jpa:
  9. open-in-view: "false"
  10. hibernate:
  11. ddl-auto: "none"
  12. database-platform: "${SPRING_JPA_DATABASE_PLATFORM:org.hibernate.dialect.PostgreSQLDialect}"
  13. datasource:
  14. driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.postgresql.Driver}"
  15. # url: "${SPRING_DATASOURCE_URL:jdbc:postgresql://地址:端口/数据库名字}"
  16. url: "${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/thingsboard}"
  17. # username: "${SPRING_DATASOURCE_USERNAME:数据库用户名}"
  18. username: "${SPRING_DATASOURCE_USERNAME:postgres}"
  19. # password: "${SPRING_DATASOURCE_PASSWORD:数据库密码}"
  20. password: "${SPRING_DATASOURCE_PASSWORD:postgres}"
  21. hikari:
  22. maximumPoolSize: "${SPRING_DATASOURCE_MAXIMUM_POOL_SIZE:16}"
  23. 下面省略......

导入测试数据

cmd运行thingsboard\application\target\windoes目录下的install_dev_db.bat,显示数据导入成功说明数据导入完成。

启动(见证奇迹)

见证奇迹

  1. 切换至IDEA
  2. 运行thingsboard\application\src\mian\java\org.thingsboard.server\ThingsboardServerAPPlocation文件
  3. 一次不太漫长的等待
  4. 在浏览器访问localhost:8080或者127.0.0.1:8080(本地访问)

账户/密码

官方提供的三个账号

账号 密码 说明
sysadmin@thingsboard.org sysadmin 系统管理员
tenant@thingsboard.org tenant 租户
customer@thingsboard.org customer 客户

thingsboard源码编译启动的更多相关文章

  1. Thingsboard源码编译,小白新坑随笔

    在Thingsboard源码编译过程中,遇见的问题总结: 1.Thingsboard Server UI 模块编译,无法执行“npm install ”:出现错误信息:Failed to execut ...

  2. 深入出不来nodejs源码-编译启动(1)

    整整弄了两天,踩了无数的坑,各种奇怪的error,最后终于编译成功了. 网上的教程基本上都过时了,或者是版本不对,都会报一些奇怪的错误,这里总结一下目前可行的流程. node版本:v10.1.0. 首 ...

  3. 浅析libuv源码-编译启动

    面试的间隙回头复习了一下node,感觉node就像一个胶带,把V8和libuv粘在了一起. V8毫无疑问,负责解析执行JavaScript,相当于语言层面的桥梁:而libuv则是负责操作系统底层功能的 ...

  4. Mysql 5.7源码编译启动 报error问题:The server quit without updating PID file (/data/data_mysql/mysql.pid).

    一般是报error问题就是我们的mysql没有权限,这里主要是指三点:一个是mysql的安装主目录要设为mysql用户和用户组.一个是logs目录设置为mysql用户以及用户组.还有一个是data目录 ...

  5. 源码编译安装nginx及设置开机启动项

    1.上传nginx文档:解压到/data目录下,并安装依赖包tar xf nginx-1.20.1.tar.gz -C /data/cd /data/nginx-1.20.1/ && ...

  6. SSH/SSL 源码编译安装简易操作说明

    环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...

  7. Hadoop源码编译过程

    一.           为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通 ...

  8. 源码编译安装 MySQL 5.5.x 实践

    1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...

  9. 烂泥:mysql5.5数据库cmake源码编译安装

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开 ...

随机推荐

  1. 【LeetCode】718. Maximum Length of Repeated Subarray 解题报告(Python)

    [LeetCode]718. Maximum Length of Repeated Subarray 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxu ...

  2. LightOJ - 1003 Drunk

    One of my friends is always drunk. So, sometimes I get a bit confused whether he is drunk or not. So ...

  3. Boost的反射库PFR

    目录 目录 简介 使用方法 限制 总结 简介 Boost.PFR是一个Boost 1.75版本出的C++14的基础反射库,其使用非常简单,非常便捷,但是适用性也比较差,有很多的地方无法使用,适合比较简 ...

  4. The Limitations of Deep Learning in Adversarial Settings

    目录 概 主要内容 alg2, alg3 一些有趣的实验指标 Hardness measure Adversarial distance Nicolas Papernot, Patrick McDan ...

  5. CS5202Capstone|CS5202芯片|CS5202芯片方案

    一.CS5202功能概述CS5202结合了DisplayPort输入接口和模拟RGB DAC输出接口.嵌入式单片机基于工业标准8051核心,适用于多个细分市场和显示器应用程序,如笔记本电脑.主板.台式 ...

  6. VUE3 之 click 事件

    1. 概述 老话说的好:努力帮别人解决难题,你的难题也就不难解决了. 言归正传,今天我们来聊聊 VUE3 的 click 事件的相关知识. 2. click 事件 2.1 实现数字递减 <bod ...

  7. .NET6 微服务——CI/CD(1):搭建Jenkins并实现自动构建

    CI/CD 它的意思是 持续集成/持续部署,这也不是新概念.那些八股文就不写了,说话的方式简单点:如果成功搭建CI/CD环境,当你需要迭代线上程序时,只需通过git提交代码就可以,其他什么都不用做.是 ...

  8. 自带排序 Array.sort()

    public static void main(String[] args) { int[] aa = {1, 5, 9, 7, 3, 1, 6, 3, 47}; Arrays.sort(aa); p ...

  9. 利用ajaxfileupload插件异步上传文件

    html代码: <input type="file" id="imgFile" name="imgFile" /> js代码: ...

  10. CentOS6.5-Hadoop2.7.3安装hive-2.1.1

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6627723801960382979/ 系统版本,Hadoop已安装完成 Mysql安装完成 准备的解压包 安装zi ...