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安装在同一文件夹会出错)

                                                                   

               点击安装程序,

               如下图所示

                                                                    

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

                                                                

             如图,请耐心等待

                                                               

 

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

                                                                  

                   点击下一步,

                                                                    

                                                                   

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

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

                                                    

                                                       

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

                                      

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

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

                                           

系统变量→新建 CLASSPATH 变量

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

                                                    

系统变量配置完毕!

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

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

                                       

                                        

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

如图所示 显示版本信息

    • Maven

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

                                            

                                            

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

修改maven配置文件settings.xml ,

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

记事本打开是

                                           

而notepad++打开则排布整齐

                                           

打开settings.xml

                                           

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

                                           

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

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

                                               

新建变量

变量名:M2_HOME

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

                                              

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

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

                                                      

   系统变量配置完毕!

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

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

                                

(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,如下图所示:

                                          

并修改settings.xml文件

                                        

在安装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",输出如下结果

                                   

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

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

                                                        

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

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

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

                            

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

                                       

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

                                  

 

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

                                             

选择组件

                                                            

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

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

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

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

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

                                                            

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

                                                  

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

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

$ git config --global user.email email@example.com

                                     

                                              

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

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

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

                                                       

                                              

开始安装,双击安装程序

                                                

                                                 

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

                                                    

安装成功!

安装成功后就是激活软件,

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

                                                                

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

                                                           

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

                                                      

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

                                                       

 

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

                                                          

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

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

                                    

                                                              

如图,项目就被拉下来了

2.2 源码编译

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

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

mvn clean install –DskipTests

                               

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

 

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

mvn clean install –DskipTests

(2)错误解决2:

                                             

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

                                 

上图编译成功

2.3 编译器导入

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

                             

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

                                                      

如上图就是导入成功了

通过代码统计(

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

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

                                 

(1)配置jdk

项目导入以后先配置jdk

                                                 https://i-blog.csdnimg.cn/blog_migrate/6d352d8f0bfbf22bc949c90b41b05322.png

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

                                       

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

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

                                          

(2)配置支持es6语法

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

                                               

                                                

                                                        

                                                     

(3)安装lombok插件

                                                                 

                                                                 

                                                               

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

3. 数据源处理

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

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

                                                                   

                                                                 

                                                                 

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

没有错误则忽略

接下来使用navicat连接postgresql

打开navicat

                                                

                                                               

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

                                                             

                                                  

将两个sql文件复制到桌面

                                                                                           

然后在navicat中选中postgres

                                                                            

右键运行sql文件

                                                           

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

如下图导入成功

                                                   

  • 非关系数据库: redis

     安装redis

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

                                                               

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

                                                 

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

 

                                           

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

                                                                    

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

                                              

                                               

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

                                               

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

                                             

                                                             

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

                                             

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

                                                

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

                                       

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

                                                

4. 登录ThingsBoard

用户名:sysadmin@thingsboard.org 密码为:sysadmin,进入以后 大功告成!

                                       

评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值