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 为淘宝镜像--加快后续编译速度,非常明显,节约很多时间

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">

alimaven

aliyun maven

http://maven.aliyun.com/nexus/content/groups/public/

central

uk

central

Human Readable Name for this Mirror.

http://uk.maven.org/maven2/

CN

OSChina Central

http://maven.oschina.net/content/groups/public/

central

nexus

internal nexus repository

http://repo.maven.apache.org/maven2

central

安装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 整个
,两个地方需要注释,如下图所示

替换yarn版本

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

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

原有版本号

v12.16.1

v1.22.11

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 [email protected]: 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版)