Panther 从一位小白走来,虽然现在也还是小白,但是我取之于民,不定时将自己所学到的都分享给大家,这篇为大家分享2019/9/5下午整理的,由于最近一段时间忙着学习angularjs+kubernetes没有怎么发博客,前段时候刚为几台新机搭建了环境并成功的运行,这里就为大家简单介绍一下,我是如何配置运行的,这些都是大家的功劳,大家庭里的人太多了,大家跟我们来就对了
@上海-fRanson 、@琉璃、@大侠
QQ群 | QQ号 |
---|---|
China Thingsboard | 726442610 |
thingsboard所需的环境及开发工具
java jdk1.8、maven3.5.4、tomcat8.5.4、idea2019.1.1、git2.22.0、node10.16.2、postgresql9.6.14、navicat、vpn
查询本机是否安装过环境,避免重复安装,如有已经安装过的,自然就不用再次安装
cmd
dxdiag
查看电脑是多少位的操作系统,以下命令提示该电脑的操作系统,本篇以win64位操作系统为例,如安装环境不同请自行下载对应版本的软件
java -version
查看是否安装java jdk
mvn -version
查看是否安装maven
node -v
npm -v
查看是否安装nodejs环境,安装node自带会安装npm指令
one vpn安装
two 安装目录
每次安装结束记得通过cmd检测一下是否安装成功,如果大家跟着我的步骤还是没有操作成功,网盘中我也粘贴了我们群 中大神的操作步骤,大家自行查阅
- jdk安装
- maven安装
- tomcat安装
- idea安装
- git安装
- nodejs安装
- postgresql安装
- navicat安装
three 百度网盘的地址链接
链接地址
https://pan.baidu.com/s/196yaHDQcx03Ri7dZWUYbsg
提取码
2329
开始打地基
jdk安装
- 运行工具包中的 jdk-8u162-windows-x64
- 下一步 下一步,需要注意的就是路径的地址,一般都是自定义的后期还需要配置环境变量
- 图片仅供参考,配置完java_home的路径,在将java_home添加到path中,最后查询
maven安装 - 运行工具包中的 apache-maven-3.5.4
- 下一步 下一步,需要注意的就是路径的地址,一般都是自定义的后期还需要配置环境变量
- 流程如上图,配置完maven_home的路径,在将maven_home添加到path中,最后查询
- 有情提示,如果对于修改maven仓库的地址不是很熟悉或者没有使用过,不必修改他的仓库地址,idea会自动获取maven的默认地址
tomcat安装 - 运行工具包中的 apache-tomcat-8.5.40-windows-x64
- 下一步 下一步,需要注意的就是路径的地址,一般都是自定义的后期还需要配置环境变量
- 流程如上图,配置完catalina_base的路径,在将catalina_base添加到path中,最后启动tomcat,并修改用户名和密码
idea安装 - 运行工具包中的ideaIU-2019.1.1 下一步下一步,注册码激活 工具包中存在
- 安装完成之后需要集成自己的jdk、maven、tomcat、设置idea护眼色、修改maven负载最大值、idea安装lombok插件(如果不安装log会报错,可能影响项目无法启动)
- 因为过程比较琐碎,百度网盘中我把每一步都贴上了网址,大家可以根据链接的指示操作
git安装 - 运行工具包中的Git-2.22.0-64-bit 下一步下一步
- 自定义安装路径,安装成功后空白地方右键
nodejs安装 - 运行工具包中的node-v10.16.2-x64 下一步下一步
- cmd查询,因为安装node,会自带npm
postgresql安装 - 运行工具包中的postgresql-9.6.14-2-windows-x64 下一步下一步
- 切记 切记,输入密码一定要自己常用的
- 安装pgsql会遇到,这种错误,直接复制到百度,即可
There has been an error.
an error occured executing the Microsoft VC++ runtime installer
navicat安装 - 运行工具包中的navicat100_pgsql_en 下一步下一步
- 这里演示的是英文版的,因为英文版的安装简单,注册码同在文件夹内
- 连接pgsql
- 将该目录下的4个sql文件导入到pgsql中,点击public右键,运行本地sql,会出现22张表格
thingsboard\b\thingsboard-master\dao\src\main\resources\sql
下载项目,导入idea,成功运行
官网提示最新为2.4.0 这里我们不通过git下载,当然也可以通过git下载,打包过程都是一样的,我们直接下载zip压缩包为最新的版本2.4.1
https://github.com/thingsboard/thingsboard
当下载之后,idea集成过maven并修改过最大接入值时,几分种就可以导入该项目;
我们打包项目,通过idea的终端Terminal 输入命令
在该终端下运行打包命令
mvn clean install -DskipTests
在这里如果一切顺利,就应该解决问题啦,打包成功,启动项目,但是一般问题没那么简单,肯定会报错的;
声明一下,项目打包不需要修改任何代码,通过maven的导入就可以执行打包操作!现在我们都没有修改,这样也好针对不同的问题做出对应的修改;
*我这里列举几种解决办法*
一: 在终端直接打包成功,那就最好啦,这个时候通过maven单独清理 ui + web ui ;两个文件
thingsboard ServerUI
ThingsBoard Web UI Microservice
Lifecycle – > clean --> compile
如果执行操作都为成功的话,修改thingsboardmaster\application\src\main\resources\thingsboard.yml
目录下的数据库配置文件,这里根据新建数据库的用户名和密码进行修改
二:如果自己刚从网上下载下来的项目,无论怎样都无法打包的话就是前端依赖出现啦问题,a无法*,b依赖出现啦问题;第一个好解决,我重点讲解一下第二个
出现第二种情况就是因为,UI模块+web ui模块的 node_modules依赖缺少;ui下的node_modules的依赖为1001个, web ui模块下的node_modules的依赖为358个,将工具包中好的依赖导入到你的项目中,再次打包,每次打包结束java进程,从任务管理器中结束掉
打包成功,启动时报错,惠普的会出现9001端口被占用,百度一下 结束被占用的端口,最后都启动成功使用ngrok工具,解压修改端口号启动
打包教程
我刚下载的zip 文件 第一次打包 报错
ui 中的node_modules,解压到 ui目录下 单独打包 ui目录
这样就可以解决ui打包不通过的问题
打包成功,然后 在到主目录下打包
出现端口被占用 , 任务管理器 结束当前进程,结束Javase 进程
最后知识补充一下
thingsboard改造使用mysql数据库
thingsboard从2.2版本开始,兼容关系型数据库与非关系型数据库共用(关系型数据库保存实体类信息、非关系型数据库cassandra保存遥测数据信息)。由于国内偏向使用mysql数据库,而非postgresql。所以,通过修改thingsboard.yml的JDBC链接,可以实现使用mysql数据库的目的。
同理,如果需要改成使用oracle或者其他数据库,也是修改配置文件即可。因为thingsboard使用了JPA作为持久化手段,所以基本兼容目前流行的数据库。
thingsboard.yml配置修改如下:
DATABASE_ENTITIES_TYPE sql
SPRING_JPA_DATABASE_PLATFORM org.hibernate.dialect.MySQL5InnoDBDialect
SPRING_DRIVER_CLASS_NAME com.mysql.jdbc.Driver
SPRING_DATASOURCE_URL jdbc:mysql://${mysql_ip}:3306/thingsboard?useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
SPRING_DATASOURCE_USERNAME ${mysql_username}
SPRING_DATASOURCE_PASSWORD ${mysql_password}