物联网平台thingsboard编译一步到位
- 物联网平台thingsboard编译一步到位
-
- 1.thingsboard简介
- 2.clone项目
- 3.前置准备
-
- 3.1 安装JDK11
- 3.2 安装Nodejs
- 3.3 将pkg-fetch放入本地缓存
- 3.4 配置maven镜像地址
- 4.编译运行
物联网平台thingsboard编译一步到位
先上编译结果,耗时18分39秒
1.thingsboard简介
ThingsBoard是一个开源物联网平台,可实现物联网项目的快速开发、管理和扩展。ThingBoard是基于Apache License 2.0协议开源的,可以用于商业用途,因此我们可以对此平台进行二次开发。
- Apache License 2.0的权利: 可以免费使用、可以修改、可以按照自己的方式进行集成。
- Apache License 2.0的要求: 应该清楚的在产品、网站和市场介绍材料中明确指出使用了所依赖Apache License 2.0的软件。
关于Apache License 2.0等开源协议可以找相关资料研究。
thingsboard特点
据官网介绍,ThingsBoard可用于:
- 设备管理,资产和客户并定义他们之间的关系。
- 基于设备和资产收集数据并进行可视化。
- 采集遥测数据并进行相关的事件处理进行警报响应。
- 基于远程RPC调用进行设备控制。
- 基于生命周期事件、REST API事件、RPC请求构建工作流。
- 基于动态设计和响应仪表板向你的客户提供设备或资产的遥测数据。
- 基于规则链自定义特定功能。
- 发布设备数据至第三方系统。
2.clone项目
git clone https://github.com/thingsboard/thingsboard.git
clone好的项目请先不要去编辑器中运行,最好先编译好,因为需要下载很多依赖,编译安装的过程中也会生成一些类,直接打开是会报错的。
3.前置准备
3.1 安装JDK11
ThingsBoard从3.2.2之后将JDK更新到11版本,相较于之前的版是一个极大的更新。
我本次的JDK版本为:
C:Userskai>java -version
openjdk version "11.0.13" 2021-10-19
OpenJDK Runtime Environment Temurin-11.0.13+8 (build 11.0.13+8)
OpenJDK 64-Bit Server VM Temurin-11.0.13+8 (build 11.0.13+8, mixed mode)
JDK11的安装包可以从清华镜像下载:
https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/11/jdk/x64/windows/
3.2 安装Nodejs
thingsboard的前端模块需要依赖Nodejs。
我本次安装的Nodejs版本时:
C:Userskai>node -v
v17.1.0
Nodejs可以去官网下载安装。
安装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
3.3 将pkg-fetch放入本地缓存
为了防止在编译过程中JavaScript Executor 编译失败
:
[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.12.0:yarn (yarn install) on project js-executor: Failed to run task: 'yarn install' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 2 (Exit value: 2) -> [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
[ERROR] mvn -rf :js-executor
需要将pkg-fetch文件放入本地的C:Users用户名.pkg-fetch 目录中。
相关文件可以去github上下载,根据报错提示下载对应的版本:https://github.com/vercel/pkg-fetch/releases
我这里下载的是v12.22.2版本:
- 将 node-v12.22.2-linux-x64更名为fetched-v12.22.2-linux-x64
- 将 node-v12.22.2-win-x64更名为 fetched-v12.22.2-win-x64
3.4 配置maven镜像地址
central
aliyun central
https://maven.aliyun.com/repository/central
central
google
aliyun google
https://maven.aliyun.com/repository/google
google
public
aliyun public
https://maven.aliyun.com/repository/public
public
gradle-plugin
aliyun gradle-plugin
https://maven.aliyun.com/repository/gradle-plugin
gradle-plugin
spring
aliyun spring
https://maven.aliyun.com/repository/spring
spring
spring-plugin
aliyun spring-plugin
https://maven.aliyun.com/repository/spring-plugin
spring-plugin
grails-core
aliyun grails-core
https://maven.aliyun.com/repository/grails-core
grails-core
apache-snapshots
aliyun apache-snapshots
https://maven.aliyun.com/repository/apache-snapshots
apache-snapshots
4.编译运行
在thingsboard项目目录下运行maven install指令开始编译安装:
mvn clean install -DskipTests
如果遇到网络原因导致有些包没有下载下来请重新执行上述指令。
好了,至此编译安装完成!!!
下一篇文章介绍如何在idea中启动运行。
阿里云物联网平台实现MQTT通信 一、环境搭建 一、阿里云物联网平台 二、MQTT.fx 总结 一、环境搭建 一、阿里云物联网平台 1.首先进入阿里云官网https://www.aliyun.com/?utm_content=se_1000301881注册并登…