前言
thingsboard在编译过程中的注意事项。
- 需要很多国外的依赖,有外网连接编译会更快更顺利!不会用梯仔的可以私我。
- 环境依赖的版本要求,要仔细核对!
- 编译过程中正在下载某些依赖,如果手动强行停止,要把当时未下载完的依赖删掉!
- 请勿占用8080,1883等相关端口。
- 一定要有耐心等待!
依赖环境
jdk 1.8 以上
wei@MacBook-Pro ~ % java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
Maven 3.6 以上
wei@MacBook-Pro ~ % mvn -v
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /Users/weijixin/Documents/code_tools/apache-maven-3.6.3
Java version: 1.8.0_211, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"
Postgresql 9 以上
# docker方式安装单机开发环境
docker run \
-d \
--name postgres \
-p 5432:5432 \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=postgres \
-v ~/docker/data/postgresql/data:/var/lib/postgresql/data \
postgres
node
wei@MacBook-Pro ~ % node -v
v12.13.1
npm
wei@MacBook-Pro ~ % npm -v
6.9.0
yarn ```shell
npm 安装yarn命令
wei@MacBook-Pro ~ % npm install -g yarn
wei@MacBook-Pro ~ % yarn -v 1.22.10
- git
```shell
wei@MacBook-Pro ~ % git --version
git version 2.24.1 (Apple Git-126)
- idea
- lombok插件
- protobuf插件或
拉取源码
或GitHub加速clone ThingsBoardgit clone https://github.com/thingsboard/thingsboard.git
切换分支
下载的代码是 master 主分支的,需要切换到稳定版本的分支。
如果使用git checkout release-3.2
切换的是最新tag v3.2.2
这个版本需要jdk11,
这个需要注意,否则编译出现错误提示无效的标记: --release
就是因为java版本不匹配导致。git checkout v3.2.1
git tag
查看所有taggit branch
查看当前分支git branch -a
查看所有分支 (带星号的是当前分支,下面演示是已切换的)git checkout v3.2.1
切换到tag v3.2.1分支 ```shell wei@MacBook-Pro thingsboard % git branch -a master
- release-3.2
remotes/origin/HEAD -> origin/master
remotes/origin/develop/2.5.6
remotes/origin/develop/3.3
remotes/origin/develop/lwm2m
remotes/origin/develop/snmp
remotes/origin/feature/cassandra-partitions-cache
remotes/origin/feature/queue
remotes/origin/lwm2m_tests
remotes/origin/master
remotes/origin/release-1.0
remotes/origin/release-1.1
remotes/origin/release-1.2
remotes/origin/release-1.3
remotes/origin/release-1.4
remotes/origin/release-2.0
remotes/origin/release-2.2
remotes/origin/release-2.3
remotes/origin/release-2.4
remotes/origin/release-2.5
remotes/origin/release-3.0
remotes/origin/release-3.1
remotes/origin/release-3.2
<a name="Um5Up"></a>
## Maven中央仓库设置
```shell
<mirror>
<id>repo1</id>
<name>repo1 maven</name>
<url>https://repo1.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
版本核对
修改项目 node和yarn的版本号 和本机安装的一致
ctrl + shift + F 全局搜索 ctrl + shift + R全局替换
搜索license-maven-plugin
,将整个 plugin 都注释
开始编译
进入项目根目录执行
看到下图表示编译成功,每个项目耗时也可以看到有的确实比较久,所以编译过程要耐心!mvn clean install -DskipTests
数据库表自动导入
根据需求选择数据库方案,参考数据库配置,下面是使用PostgreSQL储存所有数据的步骤。
将dao模块resources下的sql文件夹复制到application模块的data文件夹下
提前在postgres中创建数据库thingsboard
postgres数据库信息配置:
修改application模块resources下的thingsboard.yml的datasource部分
执行application模块的ThingsboardInstallApplication
数据库表和数据就会自动生成。
初次启动项目,很多有关表的问题:ts_kv未分区,缺少admin_settings表等都是由于没有进行这个步骤。
访问thingsboard
localhost:8080
用户名:sysadmin@thingsboard.org 密码为:sysadmin
这是系统管理员界面,没有设备管理等其他选项卡。
在创建一个租户
租户下创建租户管理员用户
点击激活,输入密码后,就可以使用租户管理员账号登录了。
自动跳转到此租户的管理界面了。
此时再放回刚刚系统管理员的界面进行操作会提示「禁止访问」,因为刚刚登陆了租户管理员,浏览器记录的登录信息已经变成了租户管理员的信息,当然不能访问系统管理员的界面。用系统管理员账号,重新登录即可。
编译问题
Failure to find org.gradle:gradle-tooling-api:jar:6.3
关键词.gutter.gutter-horizontal
无效的标记:—release
Failed to delete xxx/node.exe
org.thingsboard.server.gen.*找不到解决方法
以及ThingsBoard 3.2.2源码编译windows傻瓜版中列出的可能遇见的问题