记录一下本地源码安装部署ThingsBoard可能踩到的坑

  1. 使用git下载源码后, 必须运行
mvn clean install -DskipTests

这一步很重要, 有很多文件需要初始化, 如果直接放入idea可能存在各种问题, 最好是用命令行执行

  1. 初始化时, 可能报错停止, 这个一般是网络问题, 可以尝试修改maven镜像, 这是我成功构建的镜像
<!--阿里云仓库--><mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central/</url></mirror><!--中央仓库--><mirror><id>repo1</id><mirrorOf>central</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://repo1.maven.org/maven2</url></mirror>
  1. 安装postgresql, 修改配置文件后, 进入application模块下有个ThingsBoardInstallApplication文件去安装时, 报错
    在这里插入图片描述 可以看到, 安装所需的sql文件不存在, 这就是上面初始化项目的原因, 初始化后, target/data目录下, 可以找到这个sql文件夹, 复制到application/src/data目录下
    在这里插入图片描述
    4.重新执行, 可能会报错【resouce lwm2m object model from file】【Caused by: java.nio.file.NoSuchFileException: lwm2m-registry】

在这里插入图片描述
追踪错误, 发现在这个文件下, 有个属性, 后面多了一个【:】
在这里插入图片描述
关于这里多了个冒号问题, 在github的Issuse里有人反馈, 点击查看具体原因
去掉后, 依然会报错, 跟踪代码发现这个属性内容是空的, 想找一个安装目录, 但是没找到, 在配置文件里也没有这个配置, 于是, 可以在【thingsboard.yml】里添加配置

install:data_dir: application/src/main/data

再次执行, 成功安装!

5.启动项目, 可能会报错某些类不存在,
【import org.thingsboard.server.common.msg.gen.MsgProtos】标红这种错误, 甚至右下角会错误提示
在这里插入图片描述
具体原因没有深入研究, 大概就是用到了一个叫【Protocol Buffers】的东西, 我们需要在idea里安装一个插件, 叫【protobuf】
在这里插入图片描述
不同的idea版本这里的插件可能有区别, 还可能与idea不兼容, 去idea官网下载当前版本idea支持的插件. 另外我这里的三个插件, 有的人可能是需要第一个, 原因未知.

  1. 启动时也会有个警告
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.nustaq.serialization.FSTClazzInfo (file:/E:/maven/apache-maven-3.8.1/maven-repository/de/ruedigermoeller/fst/2.57/fst-2.57.jar) to field java.lang.String.value
WARNING: Please consider reporting this to the maintainers of org.nustaq.serialization.FSTClazzInfo
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

这个是说在jdk9后取消了关于反射的一些操作, 不管也不会影响运行, 想屏蔽错误需要加一些启动参数, 具体可以在网上查询
在这里插入图片描述
7. 开发时, 代码正常运行, 打包时可能报错!

Some files do not have the expected license header

在这里插入图片描述
这是因为打包时检查了license头, 有两种方法解决
一. 给我们开发时新添加的文件头部都加入一段注释, 注释内容在根目录有个模板, 或者随便打开一个原来的文件, 从顶部复制粘贴到我们自己的文件中
在这里插入图片描述

二.修改pom, 禁止检测, 具体操作可以自行搜索

最后特别说明一下, 其实在target里有安装脚本, 可以直接运行, 分别是linux和windows的脚本. 上面第4个问题如果不修复, 项目是可以运行的, 但是后续是否存在问题未知, 由于windows脚本安装最后是一闪而过, 不知道有没有报错, 所以我没有采取这种方式, 担心未来出问题
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/204428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python-调试

左下角有相关的操作 断点&#xff1a;鼠标右键点击行 左下角为函数的调用栈 单步按F7

codeforces E - Good Triples

分析 易得总和总是大于等于每一位之和。如果左边的每一位之和有进位那么对于两边总和的贡献不影响&#xff0c;对于左边的位之和不影响&#xff0c;对于右边的位之和有影响。有进位相当于左边位之和加 10 10 10 &#xff0c;右边位之和加 1 1 1 。两边贡献不等&#xff0c;所…

QML与C++之间自定义对象输出

1.定义暴露的C类 Message.h #ifndef MESSAGE_H #define MESSAGE_H#include "QObject" #include "MessageAuthor.h"class Message : public QObject {Q_OBJECTQ_PROPERTY(MessageAuthor* author READ author )public:explicit Message(QObject *parent nu…

跨境电商平台投资智谋:全球化布局的策略之道

随着全球数字化浪潮的涌动&#xff0c;跨境电商平台在全球商业舞台上扮演着越来越重要的角色。其全球化布局的策略之道成为业界瞩目的焦点。 本文将深入探讨跨境电商平台投资的智谋&#xff0c;分析其全球化布局的关键策略&#xff0c;以及在这个竞争激烈的领域中脱颖而出的成…

基于若依的ruoyi-nbcio流程管理系统支持支持定时边界事件和定时捕获事件

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 1、定时边界事件 <template><div class"panel-tab__content"><!--目前只处理定…

【EI会议征稿-ACM出版】2023年信息化教育与人工智能国际学术会议(ICIEAI 2023)

2023年信息化教育与人工智能国际学术会议&#xff08;ICIEAI 2023&#xff09; 2023 International Conference on Information Education and Artificial Intelligence 2023年12月22-24日 中国-厦门 2023年信息化教育与人工智能国际学术会议&#xff08;ICIEAI 2023&#xf…

用23种设计模式打造一个cocos creator的游戏框架----(四)装饰器模式

1、模式标准 模式名称&#xff1a;装饰器模式 模式分类&#xff1a;结构型 模式意图&#xff1a;动态地给一个对象添加一些额外的职责。就增加功能来说&#xff0c;装饰器模式比生成子类更为灵活。 结构图&#xff1a; 适用于&#xff1a; 当需要给一个对象在运行时添加更…

Native Drawing 开发指导,实现 HarmonyOS 基本图形和字体的绘制

场景介绍 Native Drawing 模块提供了一系列的接口用于基本图形和字体的绘制。常见的应用场景举例&#xff1a; ● 2D 图形绘制。 ● 文本绘制。 接口说明 详细的接口说明请参考Drawing。 2D 图形绘制开发步骤 以下步骤描述了如何使用 Native Drawing 模块的画布画笔绘制一…

OpenCV交叉编译

1.下载代码解压 tar -zxvf opencv-4.8.1.tar.gz cd cd opencv-4.8.1 sudo mkdir chmod 777 build cd build 2.配置交叉编译工具 根据自己的板子进行修改 -D CMAKE_C_COMPILERaarch64-mix210-linux-gcc -D CMAKE_CXX_COMPILERaarch64-mix210-linux-g 3.cmake生成makefi…

Axure动态面板控制

首先创建一个项目&#xff0c;拖拽几个矩形喝一个动态面板 然后双击动态面板添加状态state1,state2,state3 然后分别在state1,state2,state3编辑导航对应的内容。 接下来就是添加交互事件&#xff0c;将不同导航对应不同的state. 点击“交互”->鼠标点击->进入交互编辑…

Unity中Batching优化的动态合批

文章目录 前言一、动态合批的规则1、材质相同是合批的前提&#xff0c;但是如果是材质实例的话&#xff0c;则一样无法合批。2、支持不同网格的合批3、动态合批需要网格支持的顶点条件二、我们导入一个模型并且制作一个Shader&#xff0c;来测试动态合批1、我们选择模型的 Mesh…

【改进YOLOv8】融合Gold-YOLO的车辆未礼让行人检测系统

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 随着交通工具的普及和道路交通量的增加&#xff0c;交通安全问题日益凸显。尤其是车辆未礼让行人的情况频繁发生&#xff0c;给行人的生命安全带来了严重威胁。因…

【Java】I/O流—File类:从0到1的全面解析

&#x1f38a;专栏【Java】 &#x1f33a;每日一句:看不清楚未来时,就比别人坚持久一点 ⭐欢迎并且感谢大家指出我的问题 目录 1.File概述 2.File构造方法 (1).根据文件路径创建文件对象 (2).根据父路径名字符串和子路径名字符串创建对象 (3).根据父路径对应文件对象和子路…

【C语言】数据在内存中的存储

目录 练笔 整型数据的存储&#xff1a; char 型数据——最简单的整型 整型提升&#xff1a; 推广到其他整形&#xff1a; 大小端&#xff1a; 浮点型数据的存储&#xff1a; 存储格式&#xff1a; 本篇详细介绍 整型数据&#xff0c;浮点型数据 在计算机中是如何储存的。…

【玩转TableAgent 数据智能分析】-- 数据分析不再是专业人士的专利

文章目录 前言一、TableAgent介绍TableAgent 数据分析智能体融合创新应用的新成果Table Family 二、注册TableAgent访问TableAgent注册用量 三、 体验TableAgent样例数据集体验选择样例数据集样例数据集进行数据分析数据图 样例数据集进行数据分析规定图表格式数据图 自定义数据…

开源MES/免费MES/开源MES生产流程管理

一、什么是MES生产管理流程 生产管理系统&#xff08;又称制造执行系统&#xff09;是一种集成了计划、生产、质量控制、库存管理和材料申请等生产流程的管理系统。工厂生产管理流程是企业中实现高效生产的重要一环。 二、工厂生产管理流程的步骤 步骤一&#xff1a;计划和排…

生成测试数据的4种方法、5种工具介绍

在软件测试中&#xff0c;测试数据是测试用例的基础&#xff0c;对测试结果的准确性和全面性有着至关重要的影响。 因此&#xff0c;在进行软件测试时&#xff0c;需要生成测试数据以满足测试场景和要求。本文将介绍什么情况下需要生成测试数据&#xff0c;如何生成测试数据&a…

数字语言的进化:TikTok词汇如何反映社交变革?

随着数字媒体的崛起&#xff0c;社交平台成为了信息传递和文化表达的重要渠道。TikTok作为一款风靡全球的短视频应用&#xff0c;不仅改变了人们的娱乐方式&#xff0c;还在语言层面上带来了一系列新的词汇和表达方式。 本文将深入探讨数字语言的进化&#xff0c;聚焦于TikTok…

动态代理IP和静态代理IP有什么区别,适用场景是什么?

互联网行业的从业者经常会用到一种工具&#xff0c;那就是代理IP工具。动态代理IP和静态代理IP是两种常见的代理IP技术&#xff0c;它们在网络通信中起到了重要的作用&#xff0c;比如大数据行业的从业者会经常需要用到动态代理IP&#xff0c;跨境行业的从业者会经常用到静态代…

如何本地搭建Linux DataEase数据可视化分析工具并实现公网访问

文章目录 前言1. 安装DataEase2. 本地访问测试3. 安装 cpolar内网穿透软件4. 配置DataEase公网访问地址5. 公网远程访问Data Ease6. 固定Data Ease公网地址 前言 DataEase 是开源的数据可视化分析工具&#xff0c;帮助用户快速分析数据并洞察业务趋势&#xff0c;从而实现业务…