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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值