Thingsboard 编译调试环境搭建
需要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 成功
下载地址: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之后才有效。
下载地址: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
在红色框内输入搜索安装。完成后重启软件
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文件执行。
选择你的工程所在路径
注意: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\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\discovery.proto
D:\opt\protoc-3.0.2-win32\bin\protoc.exe –-proto_path= D:\Web\dev\thingsboard-dev\common\message\src\main\proto –-java_out= D:\Web\dev\thingsboard-dev\common\message\src\main\java D:\Web\dev\thingsboard-dev\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.enforce_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,见到如下页面,说明成功(用户名:[email protected] 密码:sysadmin)。