ThingsBoard源码分析 —— 调试环境搭建

摘要: 此文档安装系统为win7 64位,因为使用虚拟机,所以安装软件位置都为C盘,涉及到编译时会有权限问题,和造成电脑很卡,建议大家不要安装在C盘!!!!

 

  • 1. 依赖工具
  • 2. 源码调试
    • 2.1 源码拉取
    • 2.2 源码编译
    • 2.3 IDE(编译器)导入
  • 3. 数据源处理
  • 4. 登录ThingBoard

​​​​​​1、依赖工具

      —JDK

              Jdk安装,安装过程中会出现两次 安装提示 。第一次是安装 jdk ,第二次是安装 jre 。建议两个都安装在同一个java文                  件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错)

                                                                   ThingsBoard源码分析 —— 调试环境搭建

               点击安装程序,

               如下图所示

                                                                    ThingsBoard源码分析 —— 调试环境搭建

           点击下一步,jdk安装随意选择目录,只需把默认安装目录 \java 之前的目录修改即可,如E:\Java\jdk1.8.0_91\,然后点击            下 一步, 若无安装目录要求,可全默认设置。无需做任何修改,直接点下一步

                                                                ThingsBoard源码分析 —— 调试环境搭建

             如图,请耐心等待

                                                               ThingsBoard源码分析 —— 调试环境搭建

 

               安装jre→更改→ \java 之前目录和安装 jdk 目录相同即可

                                                                  ThingsBoard源码分析 —— 调试环境搭建

                   点击下一步,

                                                                    ThingsBoard源码分析 —— 调试环境搭建

                                                                   ThingsBoard源码分析 —— 调试环境搭建

             到此jdk就安装完成了,但是还需配置环境变量

              电脑桌面上鼠标右击 计算机→属性→高级系统设置→高级→环境变量

                                                    ThingsBoard源码分析 —— 调试环境搭建ThingsBoard源码分析 —— 调试环境搭建

                                                       ThingsBoard源码分析 —— 调试环境搭建

    •   新建 JAVA_HOME 变量,变量值填写为jdk的安装目录,写好后点击确定

                                      ThingsBoard源码分析 —— 调试环境搭建ThingsBoard源码分析 —— 调试环境搭建

 系统变量→寻找 Path 变量→编辑

在变量值最后输入 %JAVA_HOME%\bin(注意原来Path的变量值末尾有没有“  ;  “号,如果没有,先输入”  ;  “号再输入上面的代码)

                                           ThingsBoard源码分析 —— 调试环境搭建ThingsBoard源码分析 —— 调试环境搭建

系统变量→新建 CLASSPATH 变量

变量值填写   .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(变量值前面有点号和分号,后边结尾也有分号)或者可以写成“.;%JAVA_HOME%\lib”(注意最前面有一点)

                                                    ThingsBoard源码分析 —— 调试环境搭建

系统变量配置完毕!

现在检验一下是否配置成功

    •   运行cmd分别输入java, javac, javadoc。终端都显示内容,才能说明JDK安装成功

                                       ThingsBoard源码分析 —— 调试环境搭建ThingsBoard源码分析 —— 调试环境搭建

                                        ThingsBoard源码分析 —— 调试环境搭建

 输入 java -version (java 和 -version 之间有空格)

如图所示 显示版本信息

    • Maven

将maven安装包根据自己需求解压缩到指定目录,本人放在里面C盘下面,里面有bin、lib、conf等文件夹

                                            ThingsBoard源码分析 —— 调试环境搭建

                                            ThingsBoard源码分析 —— 调试环境搭建

    • 1)更换你的maven镜像为阿里云镜像,以免导入依赖时消耗过多时间

修改maven配置文件settings.xml ,

修改时最好用notepad++打开,不要用记事本打开

记事本打开是

                                           ThingsBoard源码分析 —— 调试环境搭建

而notepad++打开则排布整齐

                                           ThingsBoard源码分析 —— 调试环境搭建

打开settings.xml

                                           ThingsBoard源码分析 —— 调试环境搭建

     在<mirrors></mirrors>中加入如下这段,然后保存

<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>

                                           ThingsBoard源码分析 —— 调试环境搭建

(2)配置Maven环境变量,如上jdk配置一样

   在计算机--属性--高级系统设置--环境变量--系统变量--新建

                                               ThingsBoard源码分析 —— 调试环境搭建

新建变量

变量名:M2_HOME

变量值:C:\Program Files\apache-maven-3.3.9 (你的maven路径)

                                              ThingsBoard源码分析 —— 调试环境搭建

 找到Path在环境变量值尾部加入:;%M2_HOME%\bin; 

(注意原来Path的变量值末尾有没有“  ;  “号,如果没有,先输入”  ;  “号再输入上面的代码)

                                                      ThingsBoard源码分析 —— 调试环境搭建

   系统变量配置完毕!

   现在检验一下是否配置成功

    运行cmd输入mvn -v  ,显示版本信息表示配置成功

                                ThingsBoard源码分析 —— 调试环境搭建

(3)修改本地仓库位置

         Maven会将下载的类库(jar包)放置到本地的一个目录下(一般默认情况下maven在本机的仓库位于C:\我的文档中\.m2.\repository),如果想重新定义这个目录的位置就需要修改Maven本地仓库的配置:

          1、在自己喜欢的位置创建文件夹,此处本人创建的位置是(C:\Program Files\Maven\MavenRepo)

          2、在安装Maven的目录下找到conf文件夹,在文件夹中找到settings.xml文件,复制settings.xml文件放于C:\Program Files\Maven,如下图所示:

                                          ThingsBoard源码分析 —— 调试环境搭建

并修改settings.xml文件

                                        ThingsBoard源码分析 —— 调试环境搭建

在安装Maven的目录下找到conf文件夹,在文件夹中找到settings.xml文件,更改默认的仓库位置如下图所示:(注意两个地方的settings.xml都要修改)

 依据该配置,Maven就会将下载的类库保存到C:\Program Files\Maven\MavenRepo中。

    • Nodejs
    • nodejs版本推荐6.9.5  

请在https://nodejs.org/dist/  此地址下载相应安装包

注意:Linux上安装Node.js需要安装Python 2.6 2.7 ,不建议安装Python 3.0以上版本。

双击下载的安装包,一路Next

检测PATH环境变量是否配置了Node.js,点击开始=》运行=》输入"cmd" => 输入命令"path",输出如下结果

                                   ThingsBoard源码分析 —— 调试环境搭建

我们可以看到环境变量中已经包含了C:\Program Files\nodejs\

检测nodejs版本,输入node -v,可以看到nodejs版本

                                                        ThingsBoard源码分析 —— 调试环境搭建

说明你已经成功安装了Node.js

note:(1)node -v检测当前的操作系统的nodejs版本 

        (2)执行ThingsBoard所需模块:npm install -g cross-env                                                    

                            ThingsBoard源码分析 —— 调试环境搭建

 (3)执行ThingsBoard所需模块:npm install -g webpack

                                       ThingsBoard源码分析 —— 调试环境搭建

 (4)执行ThingsBoard所需模块:npm install --global gulp

                                  ThingsBoard源码分析 —— 调试环境搭建

 

    • Git
    • 双击安装程序,按默认选项安装即可

                                             ThingsBoard源码分析 —— 调试环境搭建ThingsBoard源码分析 —— 调试环境搭建

选择组件

                                                            ThingsBoard源码分析 —— 调试环境搭建

(1)图标组件(Addition icons) : 选择是否创建桌面快捷方式。

(2)桌面浏览(Windows Explorer integration) : 浏览源码的方法,使用bash 或者 使用Git GUI工具。

(3)关联配置文件 : 是否关联 git 配置文件, 该配置文件主要显示文本编辑器的样式。

(4)关联shell脚本文件 : 是否关联Bash命令行执行的脚本文件。

(5)使用TrueType编码 : 在命令行中是否使用TruthType编码, 该编码是微软和苹果公司制定的通用编码。

                                                            ThingsBoard源码分析 —— 调试环境搭建

安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功

                                                  ThingsBoard源码分析 —— 调试环境搭建ThingsBoard源码分析 —— 调试环境搭建

安装完成后,还需要最后一步设置,在命令行输入如下:

$ git config --global user.name "Your Name"

$ git config --global user.email [email protected]

                                     ThingsBoard源码分析 —— 调试环境搭建

                                              ThingsBoard源码分析 —— 调试环境搭建

    • IntelliJ IDEA(使用eclipse编译时会有问题,建议使用IDEA)
  • note: 请确保你在你的系统中安装了以上依赖工具!
  •        下面展示IntelliJ IDEA的安装教程:

IntelliJ IDEA有两个版本:社区版(Community)和旗舰版(Ultimate)。 
社区版 是免费的、开源的,但功能较少; 
旗舰版 提供了较多的功能

IntelliJ IDEA 官网:https://www.jetbrains.com/idea/

                                                       ThingsBoard源码分析 —— 调试环境搭建

                                              ThingsBoard源码分析 —— 调试环境搭建

开始安装,双击安装程序

                                                ThingsBoard源码分析 —— 调试环境搭建ThingsBoard源码分析 —— 调试环境搭建

                                                 ThingsBoard源码分析 —— 调试环境搭建ThingsBoard源码分析 —— 调试环境搭建

点击Install开始安装,耐心等待几分钟

                                                    ThingsBoard源码分析 —— 调试环境搭建ThingsBoard源码分析 —— 调试环境搭建

安装成功!

安装成功后就是**软件,

进入网址http://idea.lanyus.com/,有**方法

                                                                ThingsBoard源码分析 —— 调试环境搭建

(1)运行里面输入hosts文件地址,打开hosts文件

                                                           ThingsBoard源码分析 —— 调试环境搭建

在hosts文件中添加0.0.0.0 account.jetbrains.com

                                                      ThingsBoard源码分析 —— 调试环境搭建

(2)在idea进入页面填入**码,方便起见,我这边直接把**码贴出来

                                                       ThingsBoard源码分析 —— 调试环境搭建

 

EB101IWSWD-eyJsaWNlbnNlSWQiOiJFQjEwMUlXU1dEIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2Ugb25seSIsImNoZWNrQ29uY3VycmVudFVzZSI6ZmFsc2UsInByb2R1Y3RzIjpbeyJjb2RlIjoiSUkiLCJwYWlkVXBUbyI6IjIwMTgtMTAtMTQifSx7ImNvZGUiOiJSUzAiLCJwYWlkVXBUbyI6IjIwMTgtMTAtMTQifSx7ImNvZGUiOiJXUyIsInBhaWRVcFRvIjoiMjAxOC0xMC0xNCJ9LHsiY29kZSI6IlJEIiwicGFpZFVwVG8iOiIyMDE4LTEwLTE0In0seyJjb2RlIjoiUkMiLCJwYWlkVXBUbyI6IjIwMTgtMTAtMTQifSx7ImNvZGUiOiJEQyIsInBhaWRVcFRvIjoiMjAxOC0xMC0xNCJ9LHsiY29kZSI6IkRCIiwicGFpZFVwVG8iOiIyMDE4LTEwLTE0In0seyJjb2RlIjoiUk0iLCJwYWlkVXBUbyI6IjIwMTgtMTAtMTQifSx7ImNvZGUiOiJETSIsInBhaWRVcFRvIjoiMjAxOC0xMC0xNCJ9LHsiY29kZSI6IkFDIiwicGFpZFVwVG8iOiIyMDE4LTEwLTE0In0seyJjb2RlIjoiRFBOIiwicGFpZFVwVG8iOiIyMDE4LTEwLTE0In0seyJjb2RlIjoiUFMiLCJwYWlkVXBUbyI6IjIwMTgtMTAtMTQifSx7ImNvZGUiOiJDTCIsInBhaWRVcFRvIjoiMjAxOC0xMC0xNCJ9LHsiY29kZSI6IlBDIiwicGFpZFVwVG8iOiIyMDE4LTEwLTE0In0seyJjb2RlIjoiUlNVIiwicGFpZFVwVG8iOiIyMDE4LTEwLTE0In1dLCJoYXNoIjoiNjk0NDAzMi8wIiwiZ3JhY2VQZXJpb2REYXlzIjowLCJhdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlLCJpc0F1dG9Qcm9sb25nYXRlZCI6ZmFsc2V9-Gbb7jeR8JWOVxdUFaXfJzVU/O7c7xHQyaidCnhYLp7v32zdeXiHUU7vlrrm5y9ZX0lmQk3plCCsW+phrC9gGAPd6WDKhkal10qVNg0larCR2tQ3u8jfv1t2JAvWrMOJfFG9kKsJuw1P4TozZ/E7Qvj1cupf/rldhoOmaXMyABxNN1af1RV3bVhe4FFZe0p7xlIJF/ctZkFK62HYmh8V3AyhUNTzrvK2k+t/tlDJz2LnW7nYttBLHld8LabPlEEjpTHswhzlthzhVqALIgvF0uNbIJ5Uwpb7NqR4U/2ob0Z+FIcRpFUIAHEAw+RLGwkCge5DyZKfx+RoRJ/In4q/UpA==-MIIEPjCCAiagAwIBAgIBBTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE1MTEwMjA4MjE0OFoXDTE4MTEwMTA4MjE0OFowETEPMA0GA1UEAwwGcHJvZDN5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxcQkq+zdxlR2mmRYBPzGbUNdMN6OaXiXzxIWtMEkrJMO/5oUfQJbLLuMSMK0QHFmaI37WShyxZcfRCidwXjot4zmNBKnlyHodDij/78TmVqFl8nOeD5+07B8VEaIu7c3E1N+e1doC6wht4I4+IEmtsPAdoaj5WCQVQbrI8KeT8M9VcBIWX7fD0fhexfg3ZRt0xqwMcXGNp3DdJHiO0rCdU+Itv7EmtnSVq9jBG1usMSFvMowR25mju2JcPFp1+I4ZI+FqgR8gyG8oiNDyNEoAbsR3lOpI7grUYSvkB/xVy/VoklPCK2h0f0GJxFjnye8NT1PAywoyl7RmiAVRE/EKwIDAQABo4GZMIGWMAkGA1UdEwQCMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Qb1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQC9WZuYgQedSuOc5TOUSrRigMw4/+wuC5EtZBfvdl4HT/8vzMW/oUlIP4YCvA0XKyBaCJ2iX+ZCDKoPfiYXiaSiH+HxAPV6J79vvouxKrWg2XV6ShFtPLP+0gPdGq3x9R3+kJbmAm8w+FOdlWqAfJrLvpzMGNeDU14YGXiZ9bVzmIQbwrBA+c/F4tlK/DV07dsNExihqFoibnqDiVNTGombaU2dDup2gwKdL81ua8EIcGNExHe82kjF4zwfadHk3bQVvbfdAwxcDy4xBjs3L4raPLU3yenSzr/OEur1+jfOxnQSmEcMXKXgrAQ9U55gwjcOFKrgOxEdek/Sk1VfOjvS+nuM4eyEruFMfaZHzoQiuw4IqgGc45ohFH0UUyjYcuFxxDSU9lMCv8qdHKm+wnPRb0l9l5vXsCBDuhAGYD6ss+Ga+aDY6f/qXZuUCEUOH3QUNbbCUlviSz6+GiRnt1kA9N2Qachl+2yBfaqUqr8h7Z2gsx5LcIf5kYNsqJ0GavXTVyWh7PYiKX4bs354ZQLUwwa/cG++2+wNWP+HtBhVxMRNTdVhSm38AknZlD+PTAsWGu9GyLmhti2EnVwGybSD2Dxmhxk3IPCkhKAK+pl0eWYGZWG3tJ9mZ7SowcXLWDFAk0lRJnKGFMTggrWjV8GYpw5bq23VmIqqDLgkNzuoog==

IDEA入门级教程(网上随便找了一个):https://blog.csdn.net/qq_31655965/article/details/52788374

2. 源码调试

2.1 源码拉取

从官方仓库 https://github.com/thingsboard/thingsboard/  拉取thingsboard项目,Maven 会下载依赖包,可能会花费一些时间,耐心等待下。

新建一个文件夹,我这里取名为learngit,

进入文件夹,鼠标右键选择git Bash

                                                          ThingsBoard源码分析 —— 调试环境搭建

输入git init,生成.git文件,如果没有可能是隐藏了,没有关系

在git bash中输入git clone https://github.com/thingsboard/thingsboard

                                    ThingsBoard源码分析 —— 调试环境搭建

                                                              ThingsBoard源码分析 —— 调试环境搭建

如图,项目就被拉下来了

2.2 源码编译

在你拉取的thingsboard项目根目录下输入命令

  1. 打开运行,cmd ,进入thingsboard所在的文件夹,输入命令

mvn clean install –DskipTests

                               ThingsBoard源码分析 —— 调试环境搭建

note: 编译时间超长,如果一次不行,那就多次,只能这么说!

 

(1)错误解决1:如果编译失败则可以尝试输入mvn clear,然后再次运行

mvn clean install –DskipTests

(2)错误解决2:

                                             ThingsBoard源码分析 —— 调试环境搭建

如遇到上图情况当运行项目出现[ERROR] Failed to execute goal org.apache.maven.plugins:maven-clean说明tomcat服务器已经启动了,而你现在又启动,后台运行造成冲突,需要关闭tomcat,或者重启电脑,然后重新运行就可以了

                                 ThingsBoard源码分析 —— 调试环境搭建

上图编译成功

2.3 编译器导入

启动IDEA,打开刚刚编译好的源码项目

                             ThingsBoard源码分析 —— 调试环境搭建ThingsBoard源码分析 —— 调试环境搭建

选择thingsboard文件路径,点击“ok”,导入可能需要一点时间,请耐心等待

                                                      ThingsBoard源码分析 —— 调试环境搭建

如上图就是导入成功了

通过代码统计(

这个需要安装一个插件Statistic,不重要,只是看下代码量!可以不看,

Statistic插件安装方式可以看网址:https://blog.csdn.net/u014430366/article/details/77574222?locationNum=5&fps=1,我们可以了解到85000行代码,不要方,我们只是让它运行起来!

                                 ThingsBoard源码分析 —— 调试环境搭建

(1)配置jdk

项目导入以后先配置jdk

                                                 ThingsBoard源码分析 —— 调试环境搭建

点击左侧标签页SDKs选项,再点击左上角“+”,选择JDK;

                                       ThingsBoard源码分析 —— 调试环境搭建

在弹出框选择JDK安装路径,点击OK即可配置成功

下图可以看到JDK已经在IDEA中配置好了

                                          ThingsBoard源码分析 —— 调试环境搭建

(2)配置支持es6语法

配置好jdk后会发现代码还是有红线,这时候还需改变一下设置支持es6语法

                                               ThingsBoard源码分析 —— 调试环境搭建

                                                ThingsBoard源码分析 —— 调试环境搭建

                                                        ThingsBoard源码分析 —— 调试环境搭建

                                                     ThingsBoard源码分析 —— 调试环境搭建

(3)安装lombok插件

                                                                 ThingsBoard源码分析 —— 调试环境搭建

                                                                 ThingsBoard源码分析 —— 调试环境搭建

                                                               ThingsBoard源码分析 —— 调试环境搭建

做好以上步骤,当然此时运行还是无法运行成功的!因为没有数据源(也就是数据库,包括关系,非关系数据库)啊!

3. 数据源处理

  • 关系数据库: postgresql(推荐使用9.x版本)

安装时选择默认即可,选择你想安装的目录下

                                                                   ThingsBoard源码分析 —— 调试环境搭建

                                                                 ThingsBoard源码分析 —— 调试环境搭建

                                                                 ThingsBoard源码分析 —— 调试环境搭建

安装时如果在安装结束时如果弹出一个错误的提示框:
Failed to load sql modules into the database cluster 需要“Secondary Logo” 服务启动,否则就会报如上错误 需要在计算机管理—>服务里,找到 “Secondary Logon” 服务,并启动,就会自动load sql modules。 安装时语言需要选Chinese或者Chinese macau,不能默认的default

没有错误则忽略

接下来使用navicat连接postgresql

打开navicat

                                                ThingsBoard源码分析 —— 调试环境搭建

                                                               ThingsBoard源码分析 —— 调试环境搭建

在ThingsBoard项目中找到如下的sql文件

                                                             ThingsBoard源码分析 —— 调试环境搭建

                                                  ThingsBoard源码分析 —— 调试环境搭建

将两个sql文件复制到桌面

                                                                                           ThingsBoard源码分析 —— 调试环境搭建

然后在navicat中选中postgres

                                                                            ThingsBoard源码分析 —— 调试环境搭建

右键运行sql文件

                                                           ThingsBoard源码分析 —— 调试环境搭建ThingsBoard源码分析 —— 调试环境搭建

先导入schema.sql,再导入schema-data.sql

如下图导入成功

                                                   ThingsBoard源码分析 —— 调试环境搭建

  • 非关系数据库: redis

     安装redis

    可到网上下载相应版本https://github.com/MSOpenTech/redis/releases

                                                              ThingsBoard源码分析 —— 调试环境搭建 

  • redis压缩包解压到相应目录,解压后,文件夹重新命名为 redis
  •  cmd 窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.windows.conf 

                                                 ThingsBoard源码分析 —— 调试环境搭建

  • cmd窗口,原来的不要关闭,不然就无法访问服务端了
  • redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379
  •  set myKey abc
  •  get myKey

 

                                           ThingsBoard源码分析 —— 调试环境搭建

  1. ,修改里面的数据库连接信息

                                                                    ThingsBoard源码分析 —— 调试环境搭建

先注释第164行至220行代码,346至360行代码(多行注释,选中区域,ctrl+"/",解开注释一样)

                                              ThingsBoard源码分析 —— 调试环境搭建

                                               ThingsBoard源码分析 —— 调试环境搭建

解开362至375的注释,然后修改数据库连接

                                               ThingsBoard源码分析 —— 调试环境搭建

完成以上操作,则再次运行项目,打开下图箭头所指文件,右键选择Run as

                                             ThingsBoard源码分析 —— 调试环境搭建

                                                             ThingsBoard源码分析 —— 调试环境搭建

如果此时右键鼠标并没有看到Run as选项,则选中pom.xml右键选择“Maven”à”reimport”

                                             ThingsBoard源码分析 —— 调试环境搭建ThingsBoard源码分析 —— 调试环境搭建

或者点击运行按钮也可以运行项目

                                                ThingsBoard源码分析 —— 调试环境搭建

如下图已经运行成功!!!

                                       ThingsBoard源码分析 —— 调试环境搭建

然后打开浏览器,输入http://localhost:8080网址链接,即可进入登录界面

                                                ThingsBoard源码分析 —— 调试环境搭建

4. 登录ThingsBoard

用户名:[email protected] 密码为:sysadmin,进入以后 大功告成!

                                       ThingsBoard源码分析 —— 调试环境搭建