ThingsBoard3.1项目的安装与编译

文章目录

  • 1. 依赖工具
  • 2. 编译项目
  • 3. 常见异常
    • 3.1 gradle-6.3-bin.zip的异常
    • 3.2 yarn install异常
  • 4. 导入数据
  • 5. 启动项目
  • 6. 部署
    • 6.1 在Linux下的部署

ThingsBoard可通过安装包来安装,这里的安装方式是针对源码安装,从而可以修改代码,定制自己的个性化功能。

1. 依赖工具

  • JDK
    在这里插入图片描述
  • Maven
    在这里插入图片描述
  • Nodejs
    在这里插入图片描述
  • Git
    在这里插入图片描述

2. 编译项目

#拉取源码
git clone https://github.com/thingsboard/thingsboard.git

cd thingsboard

#查看所在分支版本
git checkout release-3.1

#编译打包
mvn clean install –DskipTests

3. 常见异常

3.1 gradle-6.3-bin.zip的异常

ThingsBoard3.1项目的安装与编译_第1张图片
这个是gradle-6.3-bin.zip的下载出现了问题,手动用迅雷去下载或者通过其他途径获取这个包,然后放到以下目录,重新编译:
ThingsBoard3.1项目的安装与编译_第2张图片

3.2 yarn install异常

ThingsBoard3.1项目的安装与编译_第3张图片
这个是node的版本问题,我本机的node版本是:
在这里插入图片描述
可以将

  • ui-ngx\pom.xml
  • msa\js-executor\pom.xml
  • msa\web-ui\pom.xml

这三个文件(改3个文件是因为后面可能还会遇到这个问题)里的nodeVersion改成和本机一样,然后重新编译

<nodeVersion>v12.18.4nodeVersion>
<yarnVersion>v1.22.4yarnVersion>

ThingsBoard3.1项目的安装与编译_第4张图片

4. 导入数据

  • 1)安装PostgreSQL,最好版本为12;

PostgreSQL的下载链接:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

ThingsBoard3.1项目的安装与编译_第5张图片
注: EDB不再为PostgreSQL 11和更高版本提供Linux安装程序

UbuntuPostgreSQL 12 的安装方式如下:

# install **wget** if not already installed:
sudo apt install -y wget

# import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# add repository contents to your system:
RELEASE=$(lsb_release -cs)
echo "deb http://apt.postgresql.org/pub/repos/apt/ ${RELEASE}"-pgdg main | sudo tee  /etc/apt/sources.list.d/pgdg.list

# install and launch the postgresql service:
sudo apt update
sudo apt -y install postgresql-12
sudo service postgresql start

  • 2)新建名为 thingsboard 的数据库;

数据库在linux系统上可参考以下命令:

#创建密码
sudo su - postgres
psql
\password
\q

#新建数据库
psql -U postgres -d postgres -h 127.0.0.1 -W
CREATE DATABASE thingsboard;
\q
  • 3)用IDEA导入刚编译好的项目
  • 4)修改 thingsboard\application\src\main\resources\thingsboard.yml 里的数据源信息
    ThingsBoard3.1项目的安装与编译_第6张图片
  datasource:
    driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.postgresql.Driver}"
    url: "${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/thingsboard}"
    username: "${SPRING_DATASOURCE_USERNAME:postgres}"
    password: "${SPRING_DATASOURCE_PASSWORD:123456}"
    hikari:
      maximumPoolSize: "${SPRING_DATASOURCE_MAXIMUM_POOL_SIZE:16}"
  • 5)将sql文件 dao/src/main/resources/sql 拷贝到 application/src/main/data/sql
    ThingsBoard3.1项目的安装与编译_第7张图片
  • 6)执行安装程序ThingsboardInstallApplication.java
    ThingsBoard3.1项目的安装与编译_第8张图片
    运行后会自动导入数据库数据
    在这里插入图片描述
    可以看出实际导入了以上3个数据库文件,所以不想用这个安装程序的话,也可以通过其他途径导入这3个sql即可。

5. 启动项目

  • 1)如果项目里的log语句都警告成红色的话,请安装lombok插件;
    ThingsBoard3.1项目的安装与编译_第9张图片
  • 2)启动ThingsboardServerApplication.java
    ThingsBoard3.1项目的安装与编译_第10张图片ThingsBoard3.1项目的安装与编译_第11张图片
  • 3)进入页面
http://localhost:8080/

ThingsBoard3.1项目的安装与编译_第12张图片
只有系统管理员帐号,其他的租户等账号需要自己新建。
帐号:[email protected]
密码:sysadmin

6. 部署

上面是在IDEA里以源码的形式运行,我们修改代码后,可以以同样的方式编译打包项目,然后会在application下生成各类打包好的Thingsboard包,然后按需求部署。
ThingsBoard3.1项目的安装与编译_第13张图片

6.1 在Linux下的部署

将 thingsboard-3.1.1-boot.jar 拷到linux的对应位置,执行

java -jar thingsboard-3.1.1-boot.jar

如果想常驻后台运行,则执行:

nohup java -jar thingsboard-3.1.1-boot.jar  &

如果想修改thingsboard.yml 配置,则进行如下操作:

#解压
unzip thingsboard-3.1.1-boot.jar -d temp

cd temp

#修改配置
vim BOOT-INF/classes/thingsboard.yml 

#把新的文件打包到thingsboard-3.1.1-boot-fix.jar
jar -cvfM0 thingsboard-3.1.1-boot-fix.jar BOOT-INF/classes BOOT-INF/lib META-INF org

#运行程序
java -jar thingsboard-3.1.1-boot-fix.jar 

你可能感兴趣的:(ThingsBoard,iot,spring,boot)