ThingsBoard 3.3.1源码编译-windows版

ThingsBoard 3.3.1源码编译-windows版

前期环境准备

  • 环境版本尽量保持一致;

    • 建议先把文章看完再操作,不要直接看一步操作一步!

    • 编译过程要有耐心!不要看到执行到哪一步很久不动了,就直接Ctrl +
      C给关掉了。

下载文件基础软件安装包

Tb基础软件安装包.rar

apache-maven-3.8.1-bin.zip

OpenJDK11U-jdk_x64.msi

node-v12.16.1-x64.msi

Git-2.31.1-64-bit.exe

github加速tb.txt

VSCodeUserSetup-x64.exe

需要下载各种依赖

.m2 .gradle .pkg-cache zip包下载

将 .m2 .gradle .pkg-cache zip包下载后解压到用户目录下 C:\Users\你的用户名\

以上2个资料包都在这里。链接:https://pan.baidu.com/s/1mz_oqoNw08TGSngmfRXsSA

提取码:u7bo

原来分享过期了,2021-10-19更新

链接:https://pan.baidu.com/s/1YyIpM1DMYt5wrh50Rs_3QQ

提取码:rxci

注意:

  1. maven仓库地址配置指向C:\Users\你的用户名\.m2,或者将.m2/repository中文件复制到你自己的本地仓库内。

  2. 第一次编译不建议使用idea进行操作,它会自动下载,不好控制。

  3. 本文编译过程中只使用了vscode(也可以使用sublime等轻量工具)进行一些全局替换操作,其他时候都是cmd执行命令。

  4. 编译好再导入idea进行二次开发等。

清理maven本地仓库

windows (分开执行)

cd %userprofile%\.m2\repository

for /r %i in (*.lastUpdated) do del %i

基础软件安装部署

安装git

文章开头提供的zip包内包含此安装文件,或到https://www.git-scm.com/downloads下载,安装后重启cmd验证命令是否生效。

C:\Users\Administrator>git --version

git version 2.31.1.windows.1

安装openjdk11

文章开头提供的zip包内包含此安装文件,或到http://jdk.java.net/archive/下载,安装后配置环境变量并重启cmd验证命令是否生效。

C:\Users\Administrator>java -version

openjdk version "11.0.11" 2021-04-20

OpenJDK Runtime Environment AdoptOpenJDK-11.0.11+9 (build 11.0.11+9)

OpenJDK 64-Bit Server VM AdoptOpenJDK-11.0.11+9 (build 11.0.11+9, mixed mode)

安装maven

文章开头提供的zip包内包含此安装文件,或到https://maven.apache.org/download.cgi下载,安装后配置环境变量并重启cmd验证命令是否生效。

C:\Users\Administrator>mvn -v

Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)

Maven home: C:\soft\apache-maven-3.8.1\bin\..

Java version: 11.0.11, vendor: AdoptOpenJDK, runtime: C:\Program
Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot

Default locale: zh_CN, platform encoding: GBK

OS name: "windows server 2019", version: "10.0", arch: "amd64", family:
"windows"

配置 maven > conf > setting.xml

建议设置 Maven 为淘宝镜像--加快后续编译速度,非常明显,节约很多时间

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">

<mirrors>

<mirror>

<id>alimaven</id>

<name>aliyun maven</name>

<url>http://maven.aliyun.com/nexus/content/groups/public/</url>

<mirrorOf>central</mirrorOf>

</mirror>

<mirror>

<id>uk</id>

<mirrorOf>central</mirrorOf>

<name>Human Readable Name for this Mirror.</name>

<url>http://uk.maven.org/maven2/</url>

</mirror>

<mirror>

<id>CN</id>

<name>OSChina Central</name>

<url>http://maven.oschina.net/content/groups/public/</url>

<mirrorOf>central</mirrorOf>

</mirror>

<mirror>

<id>nexus</id>

<name>internal nexus repository</name>

<url>http://repo.maven.apache.org/maven2</url>

<mirrorOf>central</mirrorOf>

</mirror>

</mirrors>

</settings>

安装node 12.16.1

文章开头提供的zip包内包含此安装文件,或到https://nodejs.org/en/blog/release/v12.16.1/下载,安装后重启cmd验证命令是否生效。

C:\Users\Administrator>node -v

v12.16.1

C:\Users\Administrator>npm -v

6.13.4

安装yarn

使用npm命令安装yarn,并验证命令是否生效。

npm install -g yarn

C:\Users\Administrator>yarn -v

1.22.11

获取源码及配置

快速下载ThingsBoard源码

git clone https://hub.fastgit.org/thingsboard/thingsboard.git

切换到tag v3.3.1

cd thingsboard

git checkout v3.3.1

结果显示,可能已经最新代码,不提示下载更新情况

Updating files: 100% (1081/1081), done.

Note: switching to 'v3.3.1'.

注释license-maven-plugin

打开根目录pom.xml,搜索注释掉 license-maven-plugin 整个<plugin></plugin>
,两个地方需要注释,如下图所示

替换yarn版本

vscode快捷键 ctrl + shift + h 全局替换<yarnVersion>v1.22.4 为
<yarnVersion>v1.22.11,node版本此文章安装的和tb一致,不需要修改,不一致则全局替换一下,保持一致。

替换node 版本,如果不一样的话

原有版本号

<nodeVersion>v12.16.1</nodeVersion>

<yarnVersion>v1.22.11</yarnVersion>

vscode快捷键 ctrl + shift + h 全局替换

源码编译

前端源码安装前端依赖

  • 首先,设置 npm 、yarn为淘宝镜像

yarn config set registry https://registry.npm.taobao.org

npm config set registry https://registry.npm.taobao.org

网速不好 npm ,yarn 过程中也会下载失败,这是导致很多同学 thingsboard
编译失败的主要原因,所以我们在进行编译之前,也将 npm 替换为淘宝镜像。

  • 编译前端
    而且确保已经将.pkg-cache文件夹及里面的文件拷贝到了用户目录下
    目录下面输入命名

cd xxx/thingsboard/ui-ngx

yarn install

特别说明:如果卡在某个进度非常久,可以执行如下命令,重新运行安装命令。

yarn cache clean

yarn install

依赖组件成功界面

其前端源码下新增一个依赖包

前端源码编译ui-ngx(可选)

第一次编译的话,习惯先编译一下这个模块,因为它第一次编译太慢了。

cd xxx/thingsboard/ui-ngx

mvn clean package -DskipTests

整体编译

cd xxx/thingsboard

mvn clean package -DskipTests

看到这个界面就是成功了。

可能出现的问题

按照管网教程及网络资料,中间走了一些弯路,提供大家参考。本次安装采用干净的windows
2019操作系统,没有出网络上其他资料提到的问题。

问题一、有些jdk11比较旧

有些jdk11比较旧,建议用安装包里程序,已经测试没问题。以下就是用JDK11旧版本出现情况

编译错误rest-client

问题二、使用高版本nodejs

使用高版本nodejs ,比如:node-v14.15.4-x64.msi

错误内容:Validating package.json...error thingsboard-js-executor@3.3.1: The
engine "node" is incompatible with this module. Expected version ">=12.0.0
<14.0.0". Got "14.15.4"

本文由博客一文多发平台 OpenWrite 发布!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容