環境準備

  • Jdk8+ (3.2.2版本開始使用Jdk11)
  • Maven3.2.1+
  • release-3.2分支

獲取程式碼

##get source from mirror
git clone https://gitclone.com/github.com/thingsboard/thingsboard ##cd to source path
cd thingsboard ##reset remote
git remote set-url origin https://github.com/thingsboard/thingsboard.git ##checkout branch 修改分支可適用於更高版本
git checkout -b release-3.2 origin/release-3.2

設定代理

maven設定
vim ~/.m2/settings.xml

mirror內增加如下:

<mirror>
<id>alimaven</id>
<mirrorOf>*</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
yarn設定
  • 方法一(如果已經安裝)
yarn config set registry https://registry.npm.taobao.org
  • 方法二
touch ~/.yarnrc && vim ~/yarn.rc

增加如下內容

# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1 registry "https://registry.npm.taobao.org"
lastUpdateCheck 1614096367682

編譯

mvn clean package -DskipTests=true

TIPS

  • Thingsboard 總體工程使用maven進行專案生命週期管理,gradle、node、yarn等都是使用maven外掛進行初始化
  • Yarn代理也有其他的方式可以嘗試
方式1 : 修改子工程pom.xml
<execution>
<id>yarn install</id>
<goals>
<goal>yarn</goal>
</goals>
<configuration>
<arguments>install --registry https://registry.npm.taobao.org</arguments>
</configuration>
</execution>
方式2,在子工程下增加配置檔案(可以嘗試)