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的代码,如下图: