物聯網平臺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:\Users\kai>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:\Users\kai>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 <args> -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鏡像地址
<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>
4.編譯運行
在thingsboard專案目錄下運行maven install指令開始編譯安裝:
mvn clean install -DskipTests
如果遇到網路原因導致有些包沒有下載下來請重新執行上述指令,

好了,至此編譯安裝完成!!!
下一篇文章介紹如何在idea中啟動運行,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/357202.html
標籤:其他
上一篇:【畢業設計】【單片機俱樂部】基于單片機的CO檢測與報警的設計【仿真設計】
下一篇:串口連接傳輸檔案
