前言
运行源码之前,请先编译源码。这很重要!!!
官网源码编译教程:http://www.ithingsboard.com/docs/user-guide/contribution/yuanmabianyi/
如果编译过程中出现报错,请看我上一篇文章:【ThingsBoard初体验】本地编译踩坑之旅
本机环境
JDK:17
Maven:3.6.3
idea:最新社区版
ThingsBoard源码:3.7.1-SNAPSHOT
操作系统:Windows 10 专业版
官网源码运行教程:http://www.ithingsboard.com/docs/user-guide/contribution/yuanmayunxing3.3.0/
根据官网教程,把该安装的环境,该安装的工具,该配置的配置都操作好。
准备工作:初始化数据库
在运行源码之前,需要初始化数据库。
因为我日常学习和工作使用的数据库都是 MySQL,我本地环境是没有安装 PostgreSQL 的,而 ThingsBoard 的数据库使用的是 PostgreSQL,所以需要自己安装 PostgreSQL。
教程自行百度。
安装好并确认可以正常连接到 PostgreSQL 之后,需要做2个操作:
(1)在 application 下的 yml 文件中修改数据源配置
(2)将 dao 下的 sql 文件拷贝到 application 下的 data 中,用于数据的初始化
然后,运行 ThingsboardInstallApplication,开始初始化数据库。
但是,这一步我又又又又报错了!!!
报错1:gen包找不到
这里可以看出,gen包找不到,网上搜索到的原因是编译版本的问题。
解决办法
在 common下的 pom 文件中添加 < build >< /build >
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>17</source>
<target>17</target>
</configuration>
</plugin>
</plugins>
</build>
提醒一下,添加完记得刷新一下 maven 依赖,不然直接 install 还是会报错的!
在运行 ThingsboardInstallApplication 之前,建议先进行源码编译,因为我在不编译的情况下,直接执行 maven install,报错如下:
org.thingsboard.server.common.adaptor不存在
编译之后,就不会报这个错了!
报错2:thingsboard 库不存在
但是,运行 ThingsboardInstallApplication 仍然会报错。
正常来说,运行 ThingsboardInstallApplication 会自动创建 thingsboard 库,但我这里没有自动创建,所以报了这个错。
解决办法:手动创建 thingsboard 库
如果懒得动手,就把 yml 文件里面配置的库名改成 postgres(学习阶段可以这么来,但不建议这么干哈!该动手的时候不要图省事~)
接着再次运行 ThingsboardInstallApplication,这个时候就可以成功初始化数据库了,数据库建表完成。如下图:
到这里,准备工作结束了!
正文开始:源码运行
正文!开始即结束~~O(∩_∩)O
准备工作出现的问题解决完了,运行源码基本就没什么问题了!
如果有小伙伴运行源码还会报错,请自行搜索解决办法哈。
运行 ThingsboardServerApplication 即可。
后端地址:http://127.0.0.1:8080
swagger地址:http://127.0.0.1:8080/swagger-ui/index.html