[ThingsBoard] 2. 在源码上运行
一、前言
本文基于 ThingsBoard 4.0.2 编写,对应提交Version set to 4.0.2(01c5ba7d37006e1f8a3492afbb3c67d017ca8dd3)
。
由于写作经验有限,欢迎读者指出文中的错误与不足。
查了许多的资料,发现ThingsBoard有不少公司和个人进行了二次开发,要写一篇有深度的文章确实底气不足。因此这篇文章就先“水”一篇基础的,根据源代码运行的记录文。
如果有任何编译错误,请参考上一篇[Thingsboard] 1. 源码的下载和编译记录。
二、运行前的准备
参考 Installing ThingsBoard on Windows | ThingsBoard Community Edition
1. 安装
- Java 17,如果不考虑使用最新版本的,可以到WEJDK学习站进行下载。
- PostgreSQL,不建议安装pgAdmin,推荐使用Navicat、DataGrid、IDEA里的Database工具或者VSCode插件等。
2. 设置
- 通过自己的工具,创建数据库
thingsboard
- 打开
application/src/main/resources/thingsboard.yml
,搜索SPRING_DATASOURCE_PASSWORD
,在配置项spring.database
下修改username
和password
,为你的数据库用户名和密码,...:...
是spring表达式使用环境变量值或者默认值的语法,因此建议只修改冒号后的内容就行。
三、运行
1、常见问题:命令太长
直接使用spring-boot:run
运行会直接显示 CreateProcess error=206, 文件名扩展名太长。
,我也不知道这该怎么解决。
- IDEA:
打开运行配置,点击Modify options
(修改选项),选择shorten command line
(缩短命令行),选择下面两项即可。 - VSCode:
使用Spring Boot Dashboard或者直接启动。VSCode默认下就使用argfile来传递参数。
2. 初始化数据库
运行 application/src/main/java/org/thingsboard/server/ThingsboardInstallApplication.java
或ThingsboardInstallApplication
3、运行
运行application/src/main/java/org/thingsboard/server/ThingsboardServerApplication.java
或ThingsboardServerApplication
[ThingsBoard] 2. 在源码上运行的更多相关文章
- [大数据可视化]-saiku的源码打包运行/二次开发构建
Saiku构建好之后,会将项目的各个模块达成jar包,整个项目也会打成war包 saiku目录结构: 我们选中saiku-server/target/ 下面的zip压缩包.这是个打包后的文件,进行 ...
- Flink 源码解析 —— 源码编译运行
更新一篇知识星球里面的源码分析文章,去年写的,周末自己录了个视频,大家看下效果好吗?如果好的话,后面补录发在知识星球里面的其他源码解析文章. 前言 之前自己本地 clone 了 Flink 的源码,编 ...
- 如何以源码形式运行Nacos Server
官方标准运行方式 下载解压可运行包 curl -O https://github.com/alibaba/nacos/releases/download/1.3.2/nacos-server-1.3. ...
- 在Activiti官方源码上提交的两个bugfix
前段时间在Activiti官方源码上提交了两个bugfix,截图为证. 第1个是BPMN model输出的bug:
- 一、Vs2019扩展多了 导航到反编译的源码中运行
一.导航到反编译的源码中运行
- 【转】在Ubuntu下编译Android源码并运行Emulator
原文网址:http://www.mcuos.com/thread-4553-1-1.html 建立编译环境 1.在VirtualBox上安装Ubuntu 2.安装JDK $ sudo apt-ge ...
- linux调度器源码分析 - 运行(四)
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 引言 之前的文章已经将调度器的数据结构.初始化.加入进程都进行了分析,这篇文章将主要说明调度器是如何在程序稳定运 ...
- 《Flink 源码解析》—— 源码编译运行
更新一篇知识星球里面的源码分析文章,去年写的,周末自己录了个视频,大家看下效果好吗?如果好的话,后面补录发在知识星球里面的其他源码解析文章. 前言 之前自己本地 clone 了 Flink 的源码,编 ...
- 硬核干货:4W字从源码上分析JUC线程池ThreadPoolExecutor的实现原理
前提 很早之前就打算看一次JUC线程池ThreadPoolExecutor的源码实现,由于近段时间比较忙,一直没有时间整理出源码分析的文章.之前在分析扩展线程池实现可回调的Future时候曾经提到并发 ...
- 源码上看 .NET 中 StringBuilder 拼接字符串的实现
前几天写了一篇StringBuilder与TextWriter二者之间区别的文章(链接).当时提了一句没有找到相关源码,于是随后有很多热心人士给出了相关的源码链接(链接),感谢大家.这几天抽了点时间查 ...
随机推荐
- linux服务器运行java项目, 监控查看内存、储存空间和cpu占用率
服务器部署方式为tomcat中运行war包的方式, 有一次重新部署时候发现报异常堆栈溢出了. 想要定位到某个war包中通过学习整理出此篇文章以作记录笔记. 关于远程调试, 可以本地对线上代码debug ...
- 在MaxKB中实现准确的Chat TO SQL(BI)
主要面向考试成绩管理系统(目前支持旭日图.仪表盘柱状图.桑基图.漏斗图.河流图.数据聚合图.散点图.南丁格尔玫瑰图.饼状图.环形图.堆叠柱状图.堆叠折线图.堆叠面积图.面积图.折线图) 主要思路: 第 ...
- Python3处理文档_word文档(三)_向word文档中添加表格
利用python-docx自动生成表格 add_table()方法会返回一个Table对象.rows代表行数,cols代表列数:style代表样式,具体可以查看官方文档. 一.创建一个8行5列的表格 ...
- 【记录】Python3|Selenium 下载 PDF 不预览不弹窗(2024年)
版本: Chrome 124 Python 3.12 Selenium 4.19.0 版本与我有差异不要紧,只要别差异太大比如 Chrome 用 57 之前的版本了,就可以看本文. 如果你从前完全没使 ...
- 自定义工具类之”判断两个集合中是否有一个相同的值-》CollectionUtils.containsAny(集合1,集合2)“
判断两个集合中是否有一个相同的值 CollectionUtils.containsAny(集合1,集合2)就可以满足以下条件 两个集合中,只要有一个值相同就直接返回true 如:集合1:"1 ...
- 决策单调性DP
决策单调性DP是一个非常重要的DP类别.在决策点随枚举点增加单调不降时,可以有效地优化复杂度. 一般而言,决策点指的是对于一个 \(f[i]\),它的值需要从另一个值j中转移,而对于所有j,令 \(f ...
- 中国版 Cursor:CodeBuddy
我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 一句话即可让 AI 助手生成网 ...
- 操作系统:设备I/O -- 如何表示设备类型与设备驱动?
计算机的结构 计算机结构示意图: 主板上的各种芯片并非独立存在,而是以总线为基础连接在一起的,各自完成自己的工作,又能相互打配合,共同实现用户要求的功能. 如何管理设备 前面的学习中宏,实现了管理内存 ...
- Delegate的Target,Method
在 C# 中,Delegate 是一种引用方法的类型,可以将方法视为对象进行传递和操作.Delegate 类型的实例可以用来引用一个或多个方法,然后可以将这些引用作为参数传递给其他方法,或者用来调用这 ...
- 球体的顶点与索引创建方法----以WebGL为例
上图,左图为一个球体的三维图,其中一个圆面以θ角(范围为[0,PI])的方式确定,该圆面在x-z坐标平面投影如右图,其中圆面上任意一点又由α确定(范围为[0,2PI]). 假定该球体半径为r,那么球面 ...