第一部分:JDK
1,下載JDK,
JDK地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
本機是Win10 64,選擇最下面一個

2,安裝JDK,安裝JDK選擇默認的文件夾即可,如果需要安裝在其他文件夾,請記得使用一個英文路徑

3,配置環境變量
增加JAVA_HOME,即JDK的安裝地址:C:\Program Files\Java\jdk1.8.0_221

增加 CLASSPATH,即JDK的安裝地址中的文件:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

修改Path,增加JDK的地址:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

測試JDK安裝成果,使用命令行工具

輸入命令 java -version,如果能出現以下的提示信息,即安裝完成

第二部分:maven
1,下載maven,進入地址:http://maven.apache.org/download.cgi

2,下載到某個指定地址:例如d:/tb,並進行解壓

32,配置環境變量
增加MAVEN_HOME,即maven的地址:D:\tb\apache-maven-3.6.1-bin,請注意,如果直接解壓,有可能會有兩個apache-maven-3.6.1-bin

環境變量設置

MAVEN_OPTS,參數是 -Xms128m -Xmx1024m

修改Path,增加Maven的地址%MAVEN_HOME%\bin;

測試Maven安裝,打開命令行工具。使用命令mvn -v,如果能出現以下提示,即安裝成功

2019-09-05 18:52更新:為在Maven在下載application時不至於使用太多時間,建議在maven的文件夾中,找到settings.xml文件,使用Notepad++打開
參考文章地址《ThingsBoard源碼分析 —— 調試環境搭建》

文件原有內容

在mirrors節點中插入內容
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
<mirror>
<!--This is used to direct the public snapshots repo in the
profile below over to a different nexus group -->
<id>nexus-public-snapshots</id>
<mirrorOf>public-snapshots</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
</mirror>
最終文件內容如下

第三部分:Nodejs安裝
1,下載Nodejs安裝包,Nodejs官網地址:https://nodejs.org/en/download/

2,安裝完成后,使用命令查看Nodejs是否已經安裝完成,能出現以下提示說明已經安裝成功

第四部分:安裝git
1,下載git安裝包,git官網地址是:https://git-scm.com/download/win

2,安裝完成后,使用命令行測試git

第五部分: 安裝npm全局信賴
1,使用命令行,執行以下命令
#npm 環境讀取環境變量包
npm install -g cross-env
#webpack打包工具 npm install -g webpack
安裝依賴

第六部分:克隆thingsboard源碼
在d:/tb文件夾中,鼠標右鍵,選擇Git Bash Here

輸入git命令克隆源代碼
git clone https://github.com/thingsboard/thingsboard.git
等待一段時間最終下載成功

第七部分:切換git分支
1,查看項目源碼的所有分支,下載源碼后,需要進入到thingsboard文件夾

2,切換分支,我們查看分支時,發現最新發布的版本是2.4

輸入命令,即可切換至2.4的分支
git checkout release-2.4
切換分支成功

第八部分:注釋插件
打開項目源碼中的文件,查看其中的檢查插件,打開thingsboard根文件目錄

使用notepad++打開pom.xml,查找 license-maven-plugin 內容

將整個插件的節點注銷即可

2020-06-17更新
建議修改thingsboard的ui文件夾中的配置文件為你當前機器安裝的版本

第九部分:編譯項目
使用IDEA導入Thingsboard項目,並在導入到項目后,使用菜單將Maven依賴重新引入

如果maven倉庫沒有本地application依賴項,則需要連網提取application依賴項,所以在執行編譯前,最好能連接以外網,接下來就是漫長的等待(時間確實比較久)
使用命令開始編譯項目,命令中,我們跳過了test模塊,為了順利編譯,請使用管理員運行命令
mvn clean install -Dmaven.test.skip=true

經過長時間的等待,編譯完成,如果遇到問題,請多試幾次
遇到問題,可以使用命令清除,繼續運行
mvn clear
2020-06-17更新
編譯的命令為mvn clean install -Dmaven.test.skip=true 這條命令不編譯測試用例,但是在application中依賴測試用例,所以會報錯,采用下面這個命令
mvn clean install -DskipTests
如果遇到以下問題
[INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 40.781 s [INFO] Finished at: 2019-09-05T17:56:20+08:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project http: Failed to clean project: Failed to delete D:\tb\thingsboard\transport\http\target\tb-http-transport.rpm -> [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/MojoExecutionException [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn <goals> -rf org.thingsboard.transport:http
錯誤截圖

需要重新編譯,則需要運行命令
taskkill /f /im java.exe
最終成功編譯

2020-06-17也能成功編譯

進入到項目的application\target文件夾中,查看已經編譯好的項目

琉璃大神文章地址《thingsboard從搭建環境到安裝部署,給安裝出錯,或者安裝失敗的小伙伴現場寫一遍(修正版)》
