【ThingsBoard初体验】本地运行源码踩坑记录

前言

运行源码之前,请先编译源码。这很重要!!!
官网源码编译教程: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

在这里插入图片描述

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

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

相关文章

使用ssh-remote连接远程vscode运行yolo项目时的一点坑

使用ssh-remote连接远程vscode运行yolo项目时的一点坑 1.坑1 因为我是直接下载的release包&#xff0c;然后运行 pip install -e .来下载依赖的&#xff0c;那么这个时候需要使用YOLO时都需要在下载的release文件的目录下的py文件才能生效 比方说我下载的yolov8(ultralytic…

从功能出发:优化超市商品陈列,助力销售额提升

随着时代的发展&#xff0c;竞争的加剧&#xff0c;人们的生活节奏加快&#xff0c;时间观念越来越强。在这种情形下&#xff0c;作为超市&#xff0c;怎样为顾客提供一个舒适方便的购物环境&#xff0c;尽可能让顾客逛完整个卖场&#xff0c;满足一站式购足呢&#xff1f;除了…

[PM]面试题-工作问题

画一个原型需要多久?写一篇PRD文档需求多久? 时间长短取决于项目规模和业务难度, 规模大难度高,就要花费很长的时间, 规模下难度低时间就短, 一般来说, 1-2周的时间就可以完成原型和RED文档 市场需求文档写什么? 从打到下进行编写, 大的方面以市场为主体,包括市场规模, 发…

【中项】系统集成项目管理工程师-第9章 项目管理概论-9.1PMBOK的发展与9.2项目基本要素

前言&#xff1a;系统集成项目管理工程师专业&#xff0c;现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试&#xff0c;全称为“全国计算机与软件专业技术资格&#xff08;水平&#xff09;考试”&…

智能优化算法(三):遗传算法

文章目录 1.问题描述2.遗传算法2.1.算法概述2.2.编码操作2.3.选择操作2.4.交叉操作2.5.变异操作2.6.算法流程 3.算法实现3.1.MATLAB代码实现3.2.Python代码实现 4.参考文献 1.问题描述 \quad 在利用启发式算法求解问题时&#xff0c;我们常常需要应用遗传算法解决函数最值问题&…

计算计中的推理与调用

计算计是一个新的概念&#xff0c;它强调了计算与谋算&#xff08;算计&#xff09;的融合和互动过程。这个概念指的是在现代科技和商业环境中&#xff0c;越来越多地将计算能力与战略性思维结合起来&#xff0c;以解决复杂问题、优化决策和实现目标。具体来说&#xff0c;计算…

vue3组件通信(一)

组件通信 一.props(父<>子)二.自定义事件&#xff08;子>父&#xff09;三.mitt(实现任意组件通信)四.v-model(父<>子)(1).v-model的本质(2).组件标签中v-model的本质(3).$event到底是什么 概况 一.props(父<>子) 使用频率最高 若 父传子&#xff1a;属性…

红酒标签设计:艺术与品味的结合

在红酒的世界里&#xff0c;每一瓶酒都如同一位优雅的舞者&#xff0c;在酒柜的舞台上静静诉说着自己的故事。而红酒的标签&#xff0c;则是这位舞者身上较华丽的舞裙&#xff0c;它不仅是红酒的身份证明&#xff0c;更是艺术与品味的很好结合。今天&#xff0c;我们就来聊聊红…

【Vue3】组件生命周期

【Vue3】组件生命周期 背景简介开发环境开发步骤及源码 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗的日子。本…

基于vue2 + Ant Design 封装input(输入)下拉Table表格

封装 AInputTable 组件 <!--下拉Table--> <template><div class"input-select-table" ref"inputTableRef" v-clickoutside"handleHide"><div class"input-select-table-input" click"disabled?this:hand…

【信创】samba的命令行使用 _ 统信 _ 麒麟 _ 中科方德

原文链接&#xff1a;【信创】samba的命令行使用 | 统信 | 麒麟 | 中科方德 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于在信创终端操作系统上使用Samba命令操作的文章。Samba是一种用于实现文件和打印共享的免费软件&#xff0c;它允许不同操作系统&#xf…

Android studio IDE 使用日志 2024/7/30

Android studio IDE 使用日志 时间:2024/7/30 11:10 配置 安装中文语言包,汉化操作界面:下载地址 根据版本信息下载 设置中选择安装插件,选择压缩包自动安装 项目的文件夹目录结构 .gradle :包含了Gradle构建系统,自动编译工具产生的文件 .idea :包含IDEA&#xff08;‌A…

UDP程序设计

UDP协议概述 UDP&#xff0c;User Datagram Protocol&#xff0c;用户数据报协议&#xff0c;是一个简单的面向数据报(package-oriented)的传输层协议&#xff0c;规范为&#xff1a;RFC 768。 UDP提供数据的不可靠传递&#xff0c;它一旦把应用程序发给网络层的数据发送出去…

设计模式16-代理模式

设计模式16-代理模式 动机定义与结构模式定义结构 代码推导特点应用总结实例说明1. 远程代理2. 虚拟代理3. 保护代理4. 智能引用代理 动机 在面向对象系统中有一些对象由于某种原因比如对象创建的开销很大或者某些操作需要安全控制&#xff0c;或者需要进程外的访问等情况。直…

Java面试八股之Spring如何解决循环依赖

Spring如何解决循环依赖 在Spring框架中&#xff0c;循环依赖问题通常发生在两个或多个Bean相互依赖的情况下。Spring为了解决循环依赖问题&#xff0c;采用了不同的策略&#xff0c;这些策略主要取决于Bean的作用域以及依赖注入的方式。下面是一些关键点&#xff1a; 单例Be…

centos安装python 3.9

centos安装python 3.9 1. 准备工作 安装必要的构建工具和依赖项&#xff1a; sudo yum groupinstall "Development Tools" sudo yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel …

轻量级服务器资源监控平台Beszel

什么是 Beszel &#xff1f; Beszel 是一个轻量级平台&#xff0c;借助 Beszel&#xff0c;可以访问 CPU 和内存使用情况的历史数据&#xff0c;以及 Docker 容器指标&#xff08;例如特定于容器的 CPU 和内存统计信息&#xff09;。还能收到针对潜在问题的可自定义警报通知&am…

【Golang 面试 - 进阶题】每日 3 题(八)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/UWz06 &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏…

基于Django与spark的国漫推荐系统

文章目录 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主项目介绍每文一语 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主 项目介绍 近年来&#xff0c;随着互联网的蓬勃发展&#xff0c;企事业单位对信息的管理提…

C#知识|文件与目录操作:对象的创建、保存、读取

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 面向对象编程的特点就是一切皆对象&#xff0c;操作的也是对象&#xff0c;本节学习文件与目录操作中&#xff0c;对象的保存&#xff1b; 以下为学习笔记。 01 对象的特点 ①&#xff1a;对象运行在内存中&#xff…