• Thingsboard源码安装


    ThingsBoard源码安装

    1.开发环境

    • 官方编译注意事项

      1、JDK 版本采用 11,记得同步 IDEA JDK 设置;

      2、注释 pom 文件 license 检查;

      3、Node 版本在 12~14 之间;

      4、安装插件 IntelliJ Lombok plugin 和 Protobuf Support;

      5、Maven 跟 NPM 都使用官方镜像;

      6、能有良好的网速,能够快速的访问 dockerhub、github 等等国外网站。

      **以上准备工作做完了,使用以下命令进行编译,一次没过大部分都是网络问题,多试几次 **

    • JDK111(安装时jdk等环境随项目版本升级改变请查看社区Thingsboard · 社区 · 物联网技术社区-物联网平台-ThingsBoard (iotschool.com)

    • maven3.6+

    • Git

    • 编译下载pom包需要VPN外网环境

    • nodejs 16.3+

    • IDEA(需要提前将idea内存调大,防止项目打开较慢)

    • 手动下载 yarn

      npm install -g yarn yarn config set registry https://registry.npm.taobao.org -g yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g

    • maven镜像

    	<mirror>
      	      <id>nexus-public-snapshots</id>
      	      <mirrorOf>public-snapshots</mirrorOf>
      	     <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
      	</mirror>
      	<mirror>
      	      <id>nexus</id>
      	      <name>internal nexus repository</name>
      	      <url>https://repo.maven.apache.org/maven2</url>
      	      <mirrorOf>central</mirrorOf>
      	</mirror>
      	<mirror>
      	  <id>maven-central</id>
      	  <name>central</name>
      	  <url>https://repo1.maven.org/maven2/</url>
      	  <mirrorOf>central</mirrorOf>
      	</mirror>
      	
      	<mirror>
      	  <id>uk</id>
      	  <mirrorOf>central</mirrorOf>
      	  <name>Human Readable Name for this Mirror.</name>
      	  <url>http://uk.maven.org/maven2/</url>
      	</mirror>
      	
      	<mirror>
      	  <id>CN</id>
      	  <name>OSChina Central</name>
      	  <url>http://maven.oschina.net/content/groups/public/</url>
      	  <mirrorOf>central</mirrorOf>
      	</mirror>
      	
      	 <mirror>         
      	  <id>central</id>         
      	  <name>aliyun central</name>         
      	  <url>https://maven.aliyun.com/repository/central</url>        
      	  <mirrorOf>central</mirrorOf>
      	</mirror>
      	<mirror>         
      	  <id>google</id>         
      	  <name>aliyun google</name>         
      	  <url>https://maven.aliyun.com/repository/google</url>        
      	  <mirrorOf>google</mirrorOf>
      	</mirror>
      	<mirror>         
      	  <id>public</id>         
      	  <name>aliyun public</name>         
      	  <url>https://maven.aliyun.com/repository/public</url>        
      	  <mirrorOf>public</mirrorOf>
      	</mirror>
      	<mirror>         
      	  <id>gradle-plugin</id>         
      	  <name>aliyun gradle-plugin</name>         
      	  <url>https://maven.aliyun.com/repository/gradle-plugin</url>        
      	  <mirrorOf>gradle-plugin</mirrorOf>
      	</mirror>
      	<mirror>         
      	  <id>spring</id>         
      	  <name>aliyun spring</name>         
      	  <url>https://maven.aliyun.com/repository/spring</url>        
      	  <mirrorOf>spring</mirrorOf>
      	</mirror>
      	<mirror>         
      	  <id>spring-plugin</id>         
      	  <name>aliyun spring-plugin</name>         
      	  <url>https://maven.aliyun.com/repository/spring-plugin</url>        
      	  <mirrorOf>spring-plugin</mirrorOf>
      	</mirror> 
      	<mirror>         
      	  <id>grails-core</id>         
      	  <name>aliyun grails-core</name>         
      	  <url>https://maven.aliyun.com/repository/grails-core</url>        
      	  <mirrorOf>grails-core</mirrorOf>
      	</mirror>
      	<mirror>         
      	  <id>apache-snapshots</id>         
      	  <name>aliyun apache-snapshots</name>         
      	  <url>https://maven.aliyun.com/repository/apache-snapshots</url>        
      	  <mirrorOf>apache-snapshots</mirrorOf>
      	</mirror>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80

    2.源码拉取

    ThingsBoard官网 —> 关于我们 —> 博客 —> 拉到最下方找到GIT点击进入Git源码

    在这里插入图片描述

    使用git拉取如果速度太慢可以使用Gitee通过github链接导入本地仓库,使用gitee下载链接下载

    3.编译安装(需一小时左右,网络问题等可能中断)

    1.编译命令:

    mvn clean install -DskipTests --settings maven配置文件目录

    mvn clean install -DskipTests --settings D:\Dsoft\apache-maven-3.8.6\conf\thingsboardSettings.xml

    2.在项目路径下执行编译指令

    3.中断解决方法

    删除 ui-ngx\patches目录下的geoman-io+leaflet-geoman-free+2.11.4.patch文件后就可以正常编译

    如遇nodejs下载失败,手动下载所需的node版本到指定目录,注意node命名与提示要相同

    如果提示maven与项目内不匹配,需要改成指定版本maven

    在这里插入图片描述

    安装成功

    4数据库下载

    postgreSQL数据库下载,可自定义安装目录,除下图列出,默认next,端口等选项默认安装

    在这里插入图片描述

    安装图中所选项继续。
    在这里插入图片描述

    在这里插入图片描述

    需要下载语言包,保证网络连接。

    在这里插入图片描述

    弹出安装应用程序界面,选择安装语言包,点下一个:

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    默认next安装即可。

    在这里插入图片描述

    可使用navicat等数据库连接工具连接。

    创建thingsboard数据库

    在这里插入图片描述

    5.导入Idea

    • 提前查看idea的maven仓库是否是之前编译所使用的仓库位置

    在这里插入图片描述

    • 导入项目,检查idea中使用的jdk版本是否正确
      在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    • 修改项目中数据库连接信息,用户名和密码

    在这里插入图片描述

    • 向数据库中导入数据
    • 打开application-target-Windows所在目录

    在这里插入图片描述

    在这里插入图片描述

    • 执行脚本 install_dev_db.bat

    在这里插入图片描述

    在这里插入图片描述

    • 查看数据库中数据

    • 启动项目,访问localhost:8080

    在这里插入图片描述

    • 系统管理员: sysadmin@thingsboard.org / sysadmin
    • 租户管理员: tenant@thingsboard.org / tenant
    • 客户: customer@thingsboard.org / customer
  • 相关阅读:
    MediaRecorder实现录音
    A. Print a Pedestal (Codeforces logo?)
    ubuntu16.04修改静态ip
    Git工具的学习
    Java【方法】,方法重载,方法递归,你都会了吗?
    亚马逊化学物质和重金属限制物质清单
    Java多线程(5):CAS
    【冰糖Python】库安装 pip
    K8s ingress-nginx根据请求目录不同将请求转发到不同应用
    HTTP代理与SOCKS5代理,有什么区别?
  • 原文地址:https://blog.csdn.net/weixin_44192389/article/details/126073262