赞
踩
ThingsBoard 是目前 Github 上最流行的开源物联网平台,可以实现物联网项目的快速开发和使用。
本文介绍 thingsboard@3.7.0 项目的前后端的编译与启动。
git clone https://github.com/thingsboard/thingsboard.git
在 IDEA 里打开 clone 的 thingsboard 项目,配置文件 applixation.yml 中修改 datasource 配置。
datasource:
# Database driver for Spring JPA - org.postgresql.Driver
driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.postgresql.Driver}"
# Database connection URL
url: "${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/thingsboard}"
# Database user name
username: "${SPRING_DATASOURCE_USERNAME:postgres}"
# Database user password
password: "${SPRING_DATASOURCE_PASSWORD:postgres}"
使用maven进行编译,依次点击clean、install。
[INFO] Thingsboard ........................................ SUCCESS [ 0.082 s]
[INFO] Netty MQTT Client .................................. SUCCESS [ 2.994 s]
[INFO] Thingsboard Server Commons ......................... SUCCESS [ 0.006 s]
[INFO] Thingsboard Server Common Data ..................... SUCCESS [ 6.982 s]
[INFO] Thingsboard Server Common Utils .................... SUCCESS [ 0.800 s]
[INFO] Thingsboard Server Common Messages ................. SUCCESS [ 1.901 s]
[INFO] Thingsboard Actor system ........................... SUCCESS [ 1.032 s]
[INFO] Thingsboard Server Stats ........................... SUCCESS [ 0.304 s]
[INFO] Thingsboard Server Common Cluster API .............. SUCCESS [ 8.560 s]
[INFO] Thingsboard Server Queue components ................ SUCCESS [ 15.263 s]
[INFO] Thingsboard Server Common Cache .................... SUCCESS [ 0.833 s]
[INFO] Thingsboard Server Commons ......................... SUCCESS [ 0.004 s]
[INFO] Thingsboard Server Common Transport components ..... SUCCESS [ 3.189 s]
[INFO] Thingsboard MQTT Transport Common .................. SUCCESS [ 1.599 s]
[INFO] Thingsboard HTTP Transport Common .................. SUCCESS [ 0.597 s]
[INFO] Thingsboard CoAP server ............................ SUCCESS [ 0.617 s]
[INFO] Thingsboard CoAP Transport Common .................. SUCCESS [ 1.308 s]
[INFO] Thingsboard LwM2M Transport Common ................. SUCCESS [ 2.418 s]
[INFO] Thingsboard SNMP Transport Common .................. SUCCESS [ 0.993 s]
[INFO] Thingsboard Server Common DAO API .................. SUCCESS [ 0.980 s]
[INFO] Thingsboard Server Remote Edge wrapper ............. SUCCESS [ 4.521 s]
[INFO] Thingsboard Extensions ............................. SUCCESS [ 0.004 s]
[INFO] Thingsboard Rule Engine API ........................ SUCCESS [ 1.105 s]
[INFO] Thingsboard Server DAO Layer ....................... SUCCESS [ 8.115 s]
[INFO] Thingsboard Rule Engine Components ................. SUCCESS [ 4.452 s]
[INFO] Thingsboard Server Transport Modules ............... SUCCESS [ 0.004 s]
[INFO] Thingsboard HTTP Transport Service ................. FAILURE [10:47 min]
[INFO] Thingsboard MQTT Transport Service ................. SKIPPED
[INFO] Thingsboard CoAP Transport Service ................. SKIPPED
[INFO] Thingsboard LwM2m Transport Service ................ SKIPPED
[INFO] Thingsboard SNMP Transport Service ................. SKIPPED
[INFO] ThingsBoard Server UI .............................. SKIPPED
[INFO] Thingsboard Server Tools ........................... SKIPPED
[INFO] Thingsboard Rest Client ............................ SKIPPED
[INFO] ThingsBoard Server Application ..................... SKIPPED
[INFO] ThingsBoard Microservices .......................... SKIPPED
[INFO] ThingsBoard Docker Images .......................... SKIPPED
[INFO] ThingsBoard JavaScript Executor Microservice ....... SKIPPED
[INFO] ThingsBoard Web UI Microservice .................... SKIPPED
[INFO] ThingsBoard Node Microservice ...................... SKIPPED
[INFO] ThingsBoard Transport Microservices ................ SKIPPED
[INFO] ThingsBoard MQTT Transport Microservice ............ SKIPPED
[INFO] ThingsBoard HTTP Transport Microservice ............ SKIPPED
[INFO] ThingsBoard COAP Transport Microservice ............ SKIPPED
[INFO] ThingsBoard LWM2M Transport Microservice ........... SKIPPED
[INFO] ThingsBoard SNMP Transport Microservice ............ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.thingsboard:gradle-maven-plugin:1.0.11:invoke (default) on project http: org.gradle.tooling.BuildException: Could not execute build using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-7.1.1-bin.zip'. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
如果出现上述错误,是由于网络问题,无法从配置的maven的setting文件中下载jar包或者pom文件。
解决办法:点击继续编译,多次尝试不行的话,可以手动去aliyun仓库下载对应的jar包和pom文件。
注意:编译过程中功能出现多次错误,只要 thingsboard@3.7.0对应的环境安装对应,剩下的错误一般情况都是网络问题,可继续编译,或者手动下载jar包放入对应的本地仓库。
中途下载失败可尝试清理本地仓库下载失败的jar包或者pom文件,因为下载失败到本地仓库后,再次编译下载jar包,就会读取本地对应的包下有无文件,需要及时清理其中的"lastUpdated,.repositories,.sha1-in-progress" 的文件
以下是清理本地仓库的处理文件
清理本地仓库.bat文件
@echo off
@ ECHO.
@ ECHO.
@ ECHO. 说 明
@ ECHO -----------------------------------------------------------------------
@ ECHO 本文件是专门用来解决maven下载所需jar包失败的情况下
@ ECHO 需要频繁删除本地仓库的问题的
@ ECHO 本程序会将本文件所在目录下的所有包含"lastUpdated,*.repositories,*.sha1-in-progress" 的文件全部删除
@ ECHO 请慎用
@ ECHO 用法:将本文件放入maven本地仓库下双击即可运行
@ ECHO -----------------------------------------------------------------------
@ ECHO.
pause
del /s *lastUpdated* *.repositories *.sha1-in-progress *lastUpdated
@ ECHO -----------------------------------------------------------------------
@ ECHO 成功删除本文件夹下所有包含"lastUpdated,*.repositories,*.sha1-in-progress" 的文件
@ ECHO -----------------------------------------------------------------------
@ ECHO.
pause
至此,后端编译成功后,先要执行 ThingsboardInstallApplication启动类,把数据库的初始数据写入进去,否则执行 ThingsboardServerApplication 启动类会报错。(数据库中要有对应的表,在thingsboard数据库下执行这几个sql文件)
把 dao包下的source下的 sql包 复制,放入如下图对应的包下。
启动 ThingsboardInstallApplication 类,启动成功后查看 PGSQL数据库中有无数据,查看第一个表有数据即可成功启动 ThingsboardServerApplication 启动类。
启动 ThingsboardServerApplication 类,出现下图所示,即启动成功。
启动成功后,浏览器访问 http://localhost:8080/
后端接口文档,浏览器访问 http://localhost:8080/swagger-ui/index.html
查看 thingsboard项目的 ui-ngx 包下的pom文件,其中里面指定了版本。
Node.js安装访问https://nodejs.org,下载指定版本,推荐选择一键安装的 node-v版本号-x64.msi文件进行安装。
安装完Node.js后,打开cmd窗口,全局安装指定版本的yarn命令:npm install -g yarn@1.22.17。
安装完成后,可以在cmd窗口输入 node -v 和 yarn -v 查看是否安装成功。
git config --global http.sslVerify "false"
git config --global https.sslVerify "false"
使用管理员登录,用户名 sysadmin@thingsboard.org, 密码 sysadmin
登录成功后,进入首页。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。