Thingsboard 编译调试环境搭建

1. Jdk 安装配置需要jdk 1.8版本,我用的是jdk 1.8.152,安装目录是 D:\Java\jdk1.8.0_152

环境变量配置需要包含以下内容:

 

环境变量名称 内容
JAVA_HOME D:\Java\jdk1.8.0_152
PATH %JAVA_HOME%\bin; %JAVA_HOME%\jre\bin
CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
   

 

 

 

配置成功后:打开cmd,输入java 输出如下即说明配置jdk 成功

 

 

 

 

1. Maven安装配置下载地址:http://maven.apache.org/download.cgi 安装目录:D:\Java\apache-maven-3.5.0

 

环境变量名称 内容
MAVEN_HOME D:\Java\apache-maven-3.5.0
MAVEN_OPTS -Xms128m -Xmx1024m
PATH %MAVEN_HOME%\bin
   

 

 

配置成功后,打开cmd命令行,输入mvn –v输出如下即说明配置成功。

注意这个依赖jdk,需要在配置jdk之后才有效。

1. Idea 插件安装配置下载地址:https://download.jetbrains.com/idea/ideaIC-2017.1.6.win.zip 解压安装目录:D:\Program Files\JetBrains\IntelliJ IDEA Community Edition

 

需要安装的插件:IntelliJ Lombok plugin, protocol-buffers

 

ConfigureàpluginsàBrowse repositories

在红色框内输入搜索安装。完成后重启软件

1. 数据库安装

Postgresql数据库:

https://get.enterprisedb.com/postgresql/postgresql-9.4.19-2-windows.exe

 

NoSQL Database: Cassandra数据库

64位:http://downloads.datastax.com/community/datastax-community-64bit_3.0.9.msi

32位:http://downloads.datastax.com/community/datastax-community-32bit_3.0.9.msi 下载完成后,根据系统选择安装对应版本,安装提示下一步下一步安装完成即可。

 

Postgresql数据库安装过程,请将用户postgres的密码设置成 postgres。方便后续操作。

Postgresql数据库安装完成后,创建数据库thingsboard,所有者为postgres,然后用数据库工具(我用的是Navicat Premium 12)

分别运行D:\Web\dev\thingsboard-dev\dao\src\main\resources\sql目录下schema-entities.sql、 schema-ts.sql、 system-data.sql

新建查询,然后出现如下界面,文件—>打开外部文件—>选择上述sql文件执行。

 

 

1. Idea 导入thingsboard工程

 

选择你的工程所在路径

 

注意:thingsboard 工程是 maven,请选择 maven3版本。

 

 

ViewàTool WindowsàMaven Projects 打开Maven Projects窗口

等待加载完成后,双击 clean

 

Clean成功后,在执行compile,编译需要拉取资源。根据电脑配置与网络可能需要花费较长时间。

第一次拉取时间最长。我的电脑编译用了约50分钟。

 

看到如下即表示编译成功

 

调试模式:

直接运行调试模式会报错。因为用到protocol-buffers,会生成部分源码

下载地址:https://github.com/protocolbuffers/protobuf/releases?after=v3.2.1 页面找到v3.02 版本,并解压(我的目录是d:\opt)。

注释掉application 、common中的message工程 中pom.xml中的protobuf-maven-plugin插件,

 

将D:\Web\dev\thingsboard-dev\common\message\src\main\proto 存在tbmsg.proto

D:\Web\dev\thingsboard-dev\application\src\main\proto存在cluster.proto与discovery.proto 打开命令行,分别执行以下3条语句生成对应的类

D:\opt\protoc-3.0.2-win32\bin\protoc.exe –-proto_path= D:\Web\dev\thingsboard-

dev\application\src\main\proto –-java_out= D:\Web\dev\thingsboard-dev\application\src\main\java

D:\Web\dev\thingsboard-dev\application\src\main\proto\cluster.proto

 

D:\opt\protoc-3.0.2-win32\bin\protoc.exe –-proto_path= D:\Web\dev\thingsboarddev\application\src\main\proto –-java_out= D:\Web\dev\thingsboard-dev\application\src\main\java

D:\Web\dev\thingsboard-dev\application\src\main\proto\discovery.proto

 

D:\opt\protoc-3.0.2-win32\bin\protoc.exe –-proto_path= D:\Web\dev\thingsboarddev\common\message\src\main\proto –-java_out= D:\Web\dev\thingsboarddev\common\message\src\main\java D:\Web\dev\thingsboarddev\common\message\src\main\proto\tbmsg.proto

 

 

 

上述成功后,即可打开application工程中的ThingsboardServerApplication执行的编译调试。调试的时候用的Postgresql数据库:

修改D:\Web\dev\thingsboard-dev\application\src\main\resources\thingsboard.yml 配置文件

# HSQLDB DAO Configuration # spring:

# data:

# jpa:

# repositories:

# enabled: "true"

# jpa:

# hibernate:

# ddl-auto: "validate"

# database-platform: "${SPRING_JPA_DATABASE_PLATFORM:org.hibernate.dialect.HSQLDialect}" # datasource:

# driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.hsqldb.jdbc.JDBCDriver}" # url:

"${SPRING_DATASOURCE_URL:jdbc:hsqldb:file:${SQL_DATA_FOLDER:/tmp}/thingsboardDb;sql.enfor ce_size=false;hsqldb.log_size=5}"

# username: "${SPRING_DATASOURCE_USERNAME:sa}"

# password: "${SPRING_DATASOURCE_PASSWORD:}"

 

# PostgreSQL DAO Configuration spring: data: sql: repositories: enabled: "true" sql: hibernate:

ddl-auto: "validate" database-platform:

"${SPRING_JPA_DATABASE_PLATFORM:org.hibernate.dialect.PostgreSQLDialect}" datasource:

driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.postgresql.Driver}" url: "${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/thingsboard}" username: "${SPRING_DATASOURCE_USERNAME:postgres}" password: "${SPRING_DATASOURCE_PASSWORD:postgres}"

如果你的数据库密码不是 postgres,就需要修改上述密码。保存,运行或者调试模式下运行。

浏览器打开http://127.0.0.1:8080,见到如下页面,说明成功(用户名: sysadmin@thingsboard.org 密码:sysadmin)。

 

weinxin
我的微信
一个码农、工程狮、集能量和智慧于一身的、DIY高手、小伙伴er很多的、80后奶爸。
Igor
  • 版权声明: 发表于 2018-11-1214:35:20
  • 转载注明:http://blog.tsingmac.com/prolions/servertech/308/
thingsboard填坑之路 系统运维

thingsboard填坑之路

thingsboard填坑之路 因为thingsboard都是国外的资料,国内基本没有参考资料。所以,记录下来源码安装当中,遇到的问题。 thingsboard官网源码安装连接: https://th...
centos7+tomcat部署JavaWeb项目超详细步骤 系统运维

centos7+tomcat部署JavaWeb项目超详细步骤

我们平时访问的网站大多都是发布在云服务器上的,比如阿里云、腾讯云等。对于新手,尤其是没有接触过linux系统的人而言是比较有困难的,而且至今使用云服务器也是有成本的,很多时候我们可以通过虚拟机自己搭建...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: