刚开始,编译thingsboard源码时遇到很多问题,网上查了不少资料,走了不少弯路,现给自己梳理一下过程。
一、环境准备
笔记本电脑,windows 10 家庭版 64位;
1、安装jdk1.8
下载相应的jdk1.8安装文件,安装后配置环境变量如下环境变量:
JAVA_HOME=C:\java\jdk1.8.0_144
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
PATH添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
2、安装apache-maven-3.5.4
下载apache-maven-3.5.4,解压文件后配置如下环境变量:
MAVEN_HOME=C:\java\apache-maven-3.5.4
MAVEN_OPTS=-Xms128m -Xmx1024m
PATH添加%MAVEN_HOME%\bin;
3、安装Git-2.22.0-64-bit
下载Git-2.22.0-64-bit.exe,安装后配置如下环境变量:
GIT_HOME=C:\Program Files\Git
PATH添加%GIT_HOME%\cmd;%GIT_HOME%\bin;
4、安装eCos_node-v6.10.2-x64
下载eCos_node-v6.10.2-x64.msi,我的nodejs安装在c:\java目录,安装后PATH添加了C:\java\nodejs\
5、安装eclipse-2018.12(4.10)
到eclipse官网下载eclipse-SDK-4.10-win32-x86_64.zip,解压到c:\java\eclipse目录。
eclipse主要安装了如下插件:
6、安装postgresql及其管理工具
(1)下载postgresql-10.9-2-windows-x64.exe,按照安装向导一步步安装。
(2)安装Navicat for PostgreSQL。
二、下载和编译代码
1、用git下载源码
在cmd.exe中执行如下命令,从github中下载thingsboard源码。
git clone https://github.com/thingsboard/thingsboard.git
2、将源码切换到thingsboard-2.4版本
进入thingsboard目录,然后执行下面三个命令:
git branch -a
git reset --hard HEAD
git checkout -b release-2.4 origin/release-2.4
2、初始化数据库
(1)查看thingsboard\application\src\main\resources\thingsboard.yml中数据库的配置
......
# SQL DAO Configuration
spring:
data:
jpa:
repositories:
enabled: "true"
jpa:
hibernate:
ddl-auto: "none"
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}"
......
(2)创建thingsboard数据库
通过Navicat for PostgreSQL连接上PostgreSQL数据库,根据上面的配置信息,创建thingsboard数据库,用户名和密码都是postgres。
(3)初始化数据库表
执行thingsboard\dao\src\main\resources\sql目录中的四个SQL脚本:
数据库一共建立了22个表。
3、修改thingsboard相关配置
(1)注释thingsboard\pom.xml文件中有关license的配置信息,避免源码编译时出错。
...
....
(2)配置application\target\generated-sources\protobuf代码自动生成
...
org.codehaus.mojo
build-helper-maven-plugin
...
...
3、编译代码
在cmd中,进入thingsboard目录,并执行下面的命令:
mvn clean install -Dmaven.test.skip=true
三、用源码运行系统
(1)将thingsboard代码导入到eclipse。
(2)通过maven菜单的update project功能更新项目,不过application中的src/test/java中的很多类有错误,不管它。
(3)运行thingsboard。
在application中运行org.thingsboard.server.ThingsboardServerApplication(Run As Java Application)。
(4)访问thingsboard系统
地址:http://localhost:8080
系统管理员:
密码:sysadmin
租户管理员:
密码:tenant