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 发布!

ThingsBoard 3.3.1源码编译-windows版相关推荐

  1. RedisDesktopManager源码编译windows版(基于2022.1版本)

    一.环境依赖 1.Git 2.Visual Studio Community 2019 3.Qt 5.x 4.Python 3.9 5.CMake 6.Windows Openssl 7.NSIS 8 ...

  2. Grafana源码编译--Windows

    Grafana源码编译–Windows 准备工作 1.系统:Windows 2.软件: (1)GO:尽量使用跟Grafana源码版本一样的Go版本,通过Github上https://github.co ...

  3. ThingsBoard——v3.3.3源码编译

    要二次开发,肯定少不了编译源码.编译的难点就是坑多,因为我们的环境不可能跟源码作者的一样,当然你的跟我的也可能不一样.我的环境:系统:macOS10.15.5,CPU i7 1 准备工作 1.1 编译 ...

  4. Firefox源码编译(Windows)

    1.系统要求 内存:最低4GB,推荐8GB+. 磁盘空间:至少40GB的可用磁盘空间. 操作系统:Windows10. 2.系统准备 下载安装Visual Studio 2019的构建工具,选择以下项 ...

  5. 代码工程 /Qt /5.9.3源码编译

    文章目录 概述 小试牛刀 安装Perl configure 执行编译 执行安装 再试牛刀 CMD导致的杯具 正式使用新环境 Qt 安装版(exe文件) 目录基本说明 一个小插曲 重新来过 编译环境 P ...

  6. Win7+VS2010:mysql 源码编译与调试

    win7+vs2010源码编译mysql 最近由于在实习,工作重点在于一些数据库的开发,为了更好的理解数据库的实现机制,目前萌生了要研究一下mysql数据库源码的想法.那么好吧,说干就干,首先我们需要 ...

  7. python源码编译 mingw_使用mingw32 在windows python26 下编译安装4suite-xml

    最近在研究python下xml处理技术,需要在windows python26平台下安装4suite-xml. 但是4suite-xml在官网上只提供的最新安装包只支持到python25,也就是说只能 ...

  8. opencv + contrib windows下源码编译

    网上,包括书上有很多人云亦云的源码编译方式,不能说不正确但是有很多弯弯绕绕(坑).最近刚做完了一个识别项目的第一个版本,总结了一下..为了写这篇文章,特意重新在自己电脑搭了一遍开发环境. 最权威的方式 ...

  9. windows和linux下源码编译7-Zip(7za)

    windows和linux下源码编译7-Zip(7za) 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 文章目录 windows和l ...

最新文章

  1. java 比较器comparator_Java中比较器的使用Compare和Comparator
  2. Windows Server 2008虚拟机ERP压力测试(5)
  3. linux du -hd1查看文件及目录所占磁盘空间
  4. 李洪强经典面试题37
  5. Task 6.2冲刺会议六 /2015-5-19
  6. layui表格有边框_layui前端框架表格如何进行屏幕适配
  7. String s String s=null和String s=a区别
  8. We want to do better without being distracted
  9. 服务器如何关闭登录日志文件,linux云服务器登录日志文件
  10. c语言if语句教学设计,C实验教案(清华)
  11. hadoop hdfs文件给其他账号授权
  12. pyecharts可视化画3D动态地球仪,世界地图,中国地图。
  13. matlab 函数中引用文件,Matlab如何调用其他m文件中的函数
  14. 自定义ViewGroup
  15. postgresql模糊查询不区分大小写
  16. 安卓小游戏之2048
  17. pip install下载速度太慢
  18. Linux进程调度策略的发展和演变--Linux进程的管理与调度(十六)
  19. kingbase人大金仓常用sql命令(自用总结)
  20. java开发百度地图瓦片_百度地图API:利用瓦片生成工具,自定义背景图片

热门文章

  1. 【SSL】2344 【洛谷】2835刻录光盘
  2. Redis入门(七):Redis分布式锁(单机模式/集群模式)
  3. C++ 判断文件文件夹是否存在
  4. Linux x86 漏洞利用-Use-After-Free(UAF)-释放后可重用
  5. cannot find package “github.com/PuerkitoBio/goquery“ in any of
  6. golang标示废弃方法api
  7. python数组从小到大排序_Python 实现将数组值按从小到大的顺序排列
  8. 个人计算机的防病毒软件无法防止,如果无法打开计算机防病毒软件应该怎么办...
  9. Cell:首次揭示肿瘤胞内菌在癌症转移过程中的作用
  10. STM32--矩阵键盘的设计实现