Thingsboard安装部署文档

**

ThingsBoard开发环境配置文档

**

摘要: 此文档为ThingsBoard开发环境配置文档,安装系统为win10 64位。
主要需要一下几步:

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

1、依赖工具

1.1 JDK

注:JDK我之前安装的是JDK10.0.2版本的,但是ThingsBoard要求必须是1.8版本的,所以我又安装了1.8版本的,需要配置环境。
jdk的下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
因为我现在操作的电脑是win10 64位,所以选择如下:
Thingsboard安装部署文档_第1张图片
下载好后接直安装,全部按默认安装,对于不熟悉Java的同学先别着急修改路径,等以后自己会改了再去修改。。。。。(有些安装的配件不能安装在中文路径底下的问题,所以不要瞎改,哪怕改也弄成英文路径)
安装好以后,会在C:\Program Files底下新增一个java文件,如下:(此教程采用默认路径,你也可以修改保存路径,但是一定确保英文,并且你要记住你安装的位置)
Thingsboard安装部署文档_第2张图片
然后配置系统环境变量:
①电脑桌面上鼠标右击 此电脑 → 属性 → 高级系统设置 → 高级 → 环境变量
Thingsboard安装部署文档_第3张图片
Thingsboard安装部署文档_第4张图片

②新建 系统变量JAVA_HOME,变量值填写为jdk的安装目录(JAVA_HOME:C:\Program Files\Java\jdk1.8.0_91),写好后点击确定。
Thingsboard安装部署文档_第5张图片 Thingsboard安装部署文档_第6张图片
③系统变量→新建 CLASSPATH 变量
变量值填写 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
(变量值前面有点号和分号,后边结尾也有分号)
或者可以写成“.;%JAVA_HOME%\lib”(注意最前面有一点)
Thingsboard安装部署文档_第7张图片
④系统变量→Path 变量→编辑
在变量值最后输入 %JAVA_HOME%\bin(注意原来Path的变量值末尾有没有“;”号,如果没有,先输入“;”号再输入上面的代码).
注意:分号都是英文得分号。
在这里插入图片描述在这里插入图片描述

系统变量配置完毕!
⑤现在检验一下是否配置成功
运行cmd分别输入java, javac, javadoc。终端都显示内容,才能说明JDK安装成功。
输入 java -version (java 和 -version 之间有空格)
如图所示 显示版本信息
Thingsboard安装部署文档_第8张图片

1.2 Maven

maven下载路径:http://maven.apache.org/download.cgi
这个不需要管maven版本,我安装的是3.6.1.安装即为傻瓜安装
下面需要配置环境以及存储路径:
①配置Maven环境变量,如上jdk配置一样
在计算机–属性–高级系统设置–环境变量–系统变量–新建
新建变量:
变量名:M2_HOME
变量值:C:\Program Files\apache-maven-3.3.9 (你的maven路径)
找到Path在环境变量值尾部加入:;%M2_HOME%\bin;
(注意原来Path的变量值末尾有没有“ ; “号,如果没有,先输入” ; “号再输入上面的代码)
系统变量配置完毕!
②现在检验一下是否配置成功
运行cmd输入mvn -v ,显示版本信息表示配置成功
Thingsboard安装部署文档_第9张图片
③修改本地仓库位置
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安装部署文档_第10张图片
并修改settings.xml文件

Thingsboard安装部署文档_第11张图片
在安装Maven的目录下找到conf文件夹,在文件夹中找到settings.xml文件,更改默认的仓库位置如下图所示:(注意两个地方的settings.xml都要修改)
依据该配置,Maven就会将下载的类库保存到C:\Program Files\Maven\MavenRepo中。

1.3 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安装部署文档_第12张图片
我们可以看到环境变量中已经包含了C:\Program Files\nodejs\,检测nodejs版本,输入node -v,可以看到nodejs版本。
在这里插入图片描述
说明你已经成功安装了Node.js
note:node -v检测当前的操作系统的nodejs版本

1.4 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 protected]

1.5 IntelliJ IDEA

(使用eclipse编译时会有问题,建议使用IDEA)
note: 请确保你在你的系统中安装了以上依赖工具!
安装教程很简单,如果不会请自己百度。

2. 源码调试

2.1 源码拉取

从官网仓库https://github.com/thingsboard/thingsboard/ 拉取thingsboard项目。然后切换到最新的分支release2.3(目前最新的是2.4.1,该教程用的是2.3)。
从官方仓库 https://github.com/thingsboard/thingsboard/ 拉取thingsboard项目,Maven 会下载依赖包,可能会花费一些时间,耐心等待下。
下面是给不会使用git的朋友的操作:

1)新建一个文件夹,我这里取名为ThingsBoard;
2)进入文件夹,鼠标右键选择git Bash ;
3)输入git init,生成.git文件,如果没有可能是隐藏了,没有关系;
4)在git bash中输入git clone https://github.com/thingsboard/thingsboard 。

2.2 源码编译

打包之前,我们需要屏蔽掉LICENSE检测,不然的话会报一连串的错误。
我们切换到拉下来的代码的根目录,编辑pom.xml文件:
在这里插入图片描述
Thingsboard安装部署文档_第13张图片
找到这个plugin,并且整个plugin注掉:
Thingsboard安装部署文档_第14张图片
Thingsboard安装部署文档_第15张图片
然后我们将拉下来的代码进行打包,生成可以运行的thingsboard项目,在你拉取的thingsboard项目根目录下打开cmd,运行以下命令:
mvn clean install -Dmaven.test.skip=true
以上命令中,我们跳过了test模块,因为这个模块一般都有问题,因为项目不需要编译它,所以忽略掉
note: 编译时间超长,如果一次不行,那就多次,只能这么说!
下面是几个我在编译打包时出现的错误。

(1)错误1:Failed to execute goal
org.apache.maven.plugins:maven-assembly-plugin:Cannot add 某一文件。 这个
问题的主要原因是该文件被认为是木马文件,软件管家把他拦截了,在之后我把该文件恢复了,就可以执行了。
(2)错误2: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
(default-compile) on project shopweb-plugin-abm-customer: Compilation failure: Compilation failure: 这个是由于JDK的版本问题。必须是1.8,其他的都不行。
(3)错误3:Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project ****-web: Failed to clean project: Failed to delete E:\target\tomcat\logs\access_log.2016-03-21 -> [Help 1]
这个是由于上次运行的Java™ Platform SE binary未关闭,在任务管理器中关闭了就可以了。
编译成功之后会出现所有组件都是successful的字样。
Thingsboard安装部署文档_第16张图片
OK,打包编译成功,查看一下thingsboard\application\target目录,若有以下内容就说明打包正确了。
Thingsboard安装部署文档_第17张图片

2.3 编译器导入

2.3.1 导入项目

双击idea安装后的运行文件:
Thingsboard安装部署文档_第18张图片
Thingsboard安装部署文档_第19张图片
Thingsboard安装部署文档_第20张图片
Thingsboard安装部署文档_第21张图片
Thingsboard安装部署文档_第22张图片
下面这里需要选择jdk,我们这里不能使用自带的jdk,需要下载一个1.8版本的jdk,亲测jdk10版本的java不可以:
Thingsboard安装部署文档_第23张图片
Thingsboard安装部署文档_第24张图片
Thingsboard安装部署文档_第25张图片

等待项目加载完成,这里不要做多余的操作。
在等待期间,我们做俩热部署的bat文件
首先,我们做一个8080后台服务器的快捷启动文件:
Thingsboard安装部署文档_第26张图片
在TB 的根目录底下我们创建一个“1-start-server-side-on-8080.bat” 文件,文件内容如下:
java -jar application/target/thingsboard-2.3.1-boot.jar
接下来我们创建一个UI的热部署启动3000端口的文件:
同理,我们创建一个“2-start-ui-on-port-3000.bat”文件,内容如下:
cd ui
mvn install -P npm-start
Thingsboard安装部署文档_第27张图片
接下来我们看看idea是否已经将TB项目加载过去了:
Thingsboard安装部署文档_第28张图片

2.3.2 项目配置

项目全部加载进来之后,你需要首先配置一些内容。
(1)配置jdk
一般会在项目初始导入时就配置了,但是如果没有,就在此处再次配置。
Thingsboard安装部署文档_第29张图片
点击左侧标签页SDKs选项,再点击左上角“+”,选择JDK;
Thingsboard安装部署文档_第30张图片
在弹出框选择JDK安装路径,点击OK即可配置成功
下图可以看到JDK已经在IDEA中配置好了
Thingsboard安装部署文档_第31张图片
(2)配置支持es6语法
配置好jdk后会发现代码还是有红线,这时候还需改变一下设置支持es6语法
Thingsboard安装部署文档_第32张图片
Thingsboard安装部署文档_第33张图片
Thingsboard安装部署文档_第34张图片
Thingsboard安装部署文档_第35张图片

2.3.3 安装插件

(1)安装Lombok
File -> Settings -> Plugins,搜索插件lombok。点击安装即可

Thingsboard安装部署文档_第36张图片
Thingsboard安装部署文档_第37张图片
(2)安装Protobuf
安装步骤同上。
做好以上步骤,当然此时运行还是无法运行成功的!因为没有数据源(也就是数据库,包括关系,非关系数据库)啊!

2.3.4 数据源处理

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

  • 安装时选择默认即可,选择你想安装的目录下(一路Next即可)
  • 注意:安装时如果在安装结束时如果弹出一个错误的提示框:Failed to load sql modules into the database cluster 需要“Secondary Logo”服务启动,否则就会报如上错误。 需要在计算机管理—>服务里,找到 “Secondary Logon” 服务,并启动,就会自动load sql modules。 安装时语言需要选Chinese或者Chinese macau,不能默认的default. 没有错误则忽略
  • 接下来使用navicat连接postgresql
    打开navicat(Navicat是一套快速、可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设,Navicat是以直觉化的图形用户界面而建的,让你可以以安全并且简单的方式创建、组织、访问并共用信息。。没有的朋友请自行下载安装)
    Thingsboard安装部署文档_第38张图片Thingsboard安装部署文档_第39张图片
    将两个sql文件复制到桌面
    Thingsboard安装部署文档_第40张图片
    然后在navicat中选中postgres
    Thingsboard安装部署文档_第41张图片
    右键运行sql文件
    Thingsboard安装部署文档_第42张图片
    Thingsboard安装部署文档_第43张图片
    先导入schema.sql,再导入schema-data.sql
    如下图导入成功
    Thingsboard安装部署文档_第44张图片
    (2)非关系数据库: redis
    安装redis
    可到网上下载相应版本https://github.com/MSOpenTech/redis/releases
    在这里插入图片描述
    redis压缩包解压到相应目录,解压后,文件夹重新命名为 redis
    cmd 窗口使用cd命令切换目录到C:\redis 运行redis-server.exe redis.windows.conf
    Thingsboard安装部署文档_第45张图片
    cmd窗口,原来的不要关闭,不然就无法访问服务端了
    redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379
    set myKey abc
    get myKey
    Thingsboard安装部署文档_第46张图片
    修改里面的数据库连接信息
    Thingsboard安装部署文档_第47张图片
    先注释第164行至220行代码,346至360行代码(多行注释,选中区域,ctrl+"/",解开注释一样)
    Thingsboard安装部署文档_第48张图片
    Thingsboard安装部署文档_第49张图片
    实际在修改时行数可能对不上,所以需要注释的地方是:
    Cassandra driver configuration parameters代码块(120行到179行)以及# HSQLDB DAO Configuration代码区域(297行-311行);然后解开362至375的注释(即# PostgreSQL DAO Configuration部分),修改数据库连接的信息。
    Thingsboard安装部署文档_第50张图片

2.3.5 在idea中启动项目

上述配置完毕之后,就可以编译启动项目了。
现在我们需要先在idea中打包它,点击这个按钮:
Thingsboard安装部署文档_第51张图片
Thingsboard安装部署文档_第52张图片
执行结束后,下面的消息控制台中会显示好多的警告,这些警告不会影响项目运行,这里我们忽略它。
忘说一件事了。。。。。。。2.3.1官方版本有个BUG:(加上public)
这个java文件路径:application/src/main/java/org/thingsboard/server/config/ThingsboardMessageConfiguration.java
在这里插入图片描述
在这里插入图片描述
记得修改一下,不然打包完以后会报错。
没报错说明打包正常。
打开以下目录结构:
Thingsboard安装部署文档_第53张图片
这两个文件,其中一个是安装,一个是启动服务。我们运行下面这个启动服务:
Thingsboard安装部署文档_第54张图片
运行结束:
Thingsboard安装部署文档_第55张图片
在这个过程中出现spring的错误问题,是由于没有修改thingsboard,yml文件导致的。(我的是)也有可能是其他原因。具体问题具体分析。

3.登录ThingsBoard

Thingsboard安装部署文档_第56张图片
出现上述界面之后,就说明已经编译成功了。
我们打开浏览器,访问8080端口:(http://localhost:8080/login)

用户名:[email protected]
密码为:sysadmin,
进入以后 大功告成!
另外,如果想要以租户登录([email protected])登录,需要首先进入首页,然后进入租户管理,创建一个租户,以租户管理员登录即可。
Thingsboard安装部署文档_第57张图片
Thingsboard安装部署文档_第58张图片
当初被租户登录折磨好长时间,现在分享给大家,希望对刚接触物联网的朋友有帮助!

你可能感兴趣的:(Thingsboard安装部署文档)