[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二者之间区别的文章(链接).当时提了一句没有找到相关源码,于是随后有很多热心人士给出了相关的源码链接(链接),感谢大家.这几天抽了点时间查 ...
随机推荐
- DelayQueue的take方法底层原理
一.DelayQueue的take()方法底层原理 DelayQueue 的 take 方法是其核心方法之一,用于从队列中获取并移除延迟时间到期的元素.如果队列为空或没有延迟到期的元素,调用 take ...
- 40+程序员亲历AI冲击,出路在何方?
关注[智践行],我们一起成长 技术革新从不以人的意志为转移,但却能因个人的选择而重铸职业轨迹,AI崛起的当下,程序员的命运之笔正握在自己手中. 今年春节前后,AI界热闹非凡,各种大模型的新突破.超强的 ...
- nodejs获取一个可用的端口,检查端口是否被占用(完美方案)
nodejs检查端口是否被占用,先看个运行效果: E:\wamp64\www\tmpPro\tryuseport>node t.js 端口:8022被占用 端口:8023被占用 端口:8024可 ...
- apache配置symfony并隐藏入口文件app.php
------------------------------- 参考: 配置Web服务器 apache url路由配置重写 Apache URL重写规则(详解) symfony官网文档 ------- ...
- 17.1K star!两小时就能训练出专属于自己的个性化小模型,这个开源项目让AI触手可及!
「只需一张消费级显卡,2小时完成26M参数GPT训练!」「从零构建中文大模型的最佳实践指南」「兼容OpenAI API,轻松接入各类AI应用平台」 项目介绍 MiniMind是由开发者Jingyao ...
- Mysql如何给字符串添加索引(前缀索引)
在日常开发中,我们经常给字符串添加索引,那么给字段添加索引有什么技巧吗,我们看看下面的例子,我们给一个邮箱添加索引,应该如何添加呢 看看下面这条sql select * from user where ...
- java8接口新特性:default、static
java8之前接口中的方法默认类型都是public abstract,也就是抽象方法,具体实现都交给实现类.而java8对接口功能做了增强,增加了default方法和static方法,也就是说从jav ...
- 操作系统综合题之“采用时间片轮转调度算法(Round-Robin,RR)执行,分时系统中的进程可能出现的状态变化”
一.问题:某分时系统中的进程可能出现下图所示的状态变化,请回答下列问题: 1.根据图示,您认为该系统采用的是什么进程调度策略? 2.把图中所示的每一个状态变化的原因填在下表相应位置. 变化 原因 1 ...
- Java线程状态和状态切换
背景 先来探讨一个关于多线程的基础知识:java线程有多少种状态?根据JDK定义,答案是六种!为什么很多人给出的答案却是五种呢?这极有可能是将操作系统层面的线程状态和Java线程状态混为一谈了.因 ...
- MybatisPlus查询一对多list结果collection实例
前言 查询用户信息,结果放到一个实体类里 这个实体类里有两个List<对象>字段,分别是这个用户的角色列表.岗位列表 以下仅供参考 实体类 package cn.daenx.myadmin ...