> 文章列表 > 5、ThingsBoard使用jar包单机部署的问题以及如何解决问题

5、ThingsBoard使用jar包单机部署的问题以及如何解决问题

5、ThingsBoard使用jar包单机部署的问题以及如何解决问题

1、概述

这一节我将给大家讲述一下前面章节的问题,因为我直接都是跳过问题直接给大家演示正确的步骤,相当于我帮大家把坑踩完了,我主要讲两个问题,尤其是第一个问题,很多人都遇到过。

2、问题1

为什么要在thingsboard.yml中配置install.data_dir?

如果不配置这个install.data_dir也可以打包,当你初始化或者你创建租户的时候会报错,尤其是在创建租户的时候,肯定会报错,如下:

Not valid working directory: \" + workDir + \". Please use either root project directory, application module directory or specify valid \\\"install.data_dir\\\" ENV variable to avoid automatic data directory lookup!

 原因是什么呢?

首先是初始化数据库的时候,因为程序需要去存在默认的数据库表结构的脚本,并且执行安装启动类 ThingsboardInstallApplication的时候,会去执行一个performInstall()方法:

进入performInstall()方法就会判断当前是否是升级,如果不是升级就是安装啦,就会进入else的代码,如下图: