💡 提示
开发电脑
最低内存16G
1/11:安装JDK(11.0.12)
💡 提示
环境变量中配置JDK版本不能低于11.0.12。
下载并解压
https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html
配置环境变量
JAVA_HOME
CLASSPATH
=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar- PATH=%JAVA_HOME%\bin
2/11:安装NodeJs(16.14)
💡 提示
NodeJs
版本不能低于12.20.0,推荐16.13到17
下载并解压
https://nodejs.org/en/download/
配置环境变量
NODE_HOME
PATH
=%NODE_HOME%\
windows系统调整策略
💡 提示
Windows10操作系统默认不允许任何脚本运行。需要以管理员身份运行PowerShell执行命令。
set-ExecutionPolicy RemoteSigned
命令执行效果图
安装yarn
NodeJs默认只安装了包管理命令npm
。我们需要自己安装包yarn。
npm install yarn -g
3/11:安装Maven(3.6.0)
💡 提示
Maven
版本不能低于3.6.0
下载并安装maven
http://maven.apache.org/download.cgi
配置环境变量
M2_HOME
PATH
=%M2_HOME%\bin
为maven配置国内镜像
在maven的配置文件apache-maven-3.8.4/conf/settings.xml
中添加国内的镜像。提高依赖包下载速度。
<mirrors>
<!-- "mirrorOf"的值为“*”表示代理所有仓库 central-->
<mirror>
<id>aliyun_maven</id>
<name>阿里云公共仓库</name>
<mirrorOf>central</mirrorOf>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
4/11:安装Gradle(6.6.1)
下载二进制文件并解压
下载页面如图
配置环境变量
GRADLE_HOME
PATH
=%GRADLE_HOME%\bin
5/11:安装数据库postgresql
下载并安装
💡 提示
PostgreSQL
版本不能低于13
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
6/11:安装git(2.33.0)
下载并安装
https://git-scm.com/download/win
7/11:拉取代码
创建SSH证书
使用Git命令窗口,创建拉取源码的SSH证书。
ssh-keygen -t ed25519 -C "i@thingsKit.com" #不要使用中文
效果图
提供SSH公钥
提供SSH公钥给ThingsKit对接人员,为你提供源码拉取权限。
从Git仓库拉取源码
产品Git仓库包括:服务端、服务端管理页面、组态、大屏和移动端等。
8/11:安装idea(2022.2.1)
下载并安装
https://www.jetbrains.com/idea/
配置git
配置git的可执行文件路径。
idea安装插件
使用快捷键CTRL+ALT+S
打开idea配置窗口,选择Plugins
菜单,搜索并安装下列清单中的插件。
- Protobuf Generator-proto管理插件
- Protocol Buffers-proto管理插件
- gittoolbox-git备注插件
- Docker-用于管理docker服务端
配置用户参数
💡 提示
prof单文件大于idea默认允许加载的文件大小,idea会报假错。
如图打开idea的配置文件idea.properties
在文件中添加如下信息。
# 允许加载的文件大小,解决profbuf对象报错问题
idea.max.intellisense.filesize=20480
9/11:创建ThingsKit数据库
利用数据库管理工具(例如:navicat),远程连接数据库。创建数据库实例。
10/11:运行ThingsKit服务端程序
导入项目
💡提示
源码包的文件目录(绝对路径)不能包含中文。
将后端源码包导入idea。
idea配置java编译器版本
快捷键CTRL+ALT+S
进入idea的设置页面。修改Java Compiler
编译时使用的jdk版本。
idea配置maven
配置maven编译时使用的JDK版本。
idea配置NodeJs
指定Thingsboard的前端模块ui-ngx
使用的NodeJs版本。
idea配置Docker(可选)
maven插件dockerfile-maven-plugin
在编译docker镜像时需要Docker的支持。工具中可根据实际情况配置线上或者本机的docker。
修改数据源配置
💡 提示
pgsql安装扩展模块timescaleDb后,选项timescale才可用。
配置文件thingsboard.yml
修改 postgresql连接信息
上传依赖文件
💡 提示
部分依赖国内没有,访问国外下载资源很慢或者根本无法下载。需要讲依赖包解压到对应目录
依赖包:fetched
将依赖包解压后放入目录Users\当前用户\.pkg-cache
下。
前端模块(msa/js-executor、ui-ngx)执行命令yarn pkg
时需要用到。
依赖包:frontend-maven-plugin
将依赖包解压后放入maven库的目录com\github\eirslett下。
maven多环境配置
下图中的profile是默认选中的环境配置。
编译项目(加载依赖包)
💡 提示
JDK或NodeJs升级,需要删除项目内的.idea文件夹并重新导入项目,idea内的版本信息才会与环境变量内配置的版本信息一致。
💡 提示
前端编译容易出错,建议优先编译基于NodeJs
实现的模块ui-ngx
和msa/js-executor
两个模块。
编译可以使用命令窗口执行命令,也可以使用idea右侧的编译工具窗口点击命令执行。
编译(2选1):可视化
编译(2选1):命令行
使用idea的Terminal
窗口执行命令
mvn clean install -DskipTests -e
效果图
数据初始化
💡 提示
运行脚本前需要先手动创建号数据库实例。
修改配置文件
💡 提示
至少需要对配置文件中【数据库】相关的配置文件进行修改。
# SQL DAO Configuration
spring:
data:
jpa:
repositories:
enabled: "true"
jpa:
properties:
javax.persistence.query.timeout: "${JAVAX_PERSISTENCE_QUERY_TIMEOUT:30000}"
open-in-view: "false"
hibernate:
ddl-auto: "none"
show-sql: "false"
database-platform: "${SPRING_JPA_DATABASE_PLATFORM:org.hibernate.dialect.PostgreSQLDialect}"
datasource:
driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.postgresql.Driver}"
url: "${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:532/thingskit}"
username: "${SPRING_DATASOURCE_USERNAME:postgres}"
password: "${SPRING_DATASOURCE_PASSWORD:postgres}"
hikari:
maximumPoolSize: "${SPRING_DATASOURCE_MAXIMUM_POOL_SIZE:16}"
启动项目
💡 提示
第一次运行项目时,会提示命令行太长。需要修改下运行的配置。
点击项目的mainClass
运行项目
11/11:测试运行结果
控制台日志
当控制台输出如下内容表示项目启动成功
接口文档:swagger页面
接口文档页面可以访问和超级管理员登录成功。
💡 提示
swagger访问地址:swagger-ui
超级管理员账号:sysadmin
超级管理员密码:Sysadmin@123