windows 下源码安装 thingsboard3.5.1

1、官网

官网

中文网

2、环境依赖

  • Java 11
  • maven 3.1.0+(我自己是 3.6.1)
  • IDEA 2023.3.5(这个没啥硬性要求)
  • PostgreSQL 13.4, compiled by Visual C++ build 1914, 64-bit

3、版本选择

3.6 开始要使用 jdk17,所以我选择 3.5.1版本thingsboard

4、源码下载

有两种方式,一种是用 git clone

git clone -b v3.5.1 https://github.com/thingsboard/thingsboard.git
-b 指定分支

另一种直接下源码

Releases · thingsboard/thingsboard · GitHub

解压到本地某个文件夹下,将maven配置跟仓库也放一起

maven settings.xml

<localRepository>F:\open-thingsboard\repository</localRepository>

<mirrors>

       <!-- 阿里云镜像 -->
    <mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>central</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
     </mirror>
    <!-- maven官方2号镜像 -->
    <mirror>
        <id>repo2</id>
        <name>Mirror from Maven Repo2</name>
        <url>http://repo2.maven.org/maven2/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>

</mirrors>

5、源码构建

源码构建最好搭个梯子,因为thingsboard很多依赖包都是外网的,国内可能会下不下来,搭个梯子可以省去90%源码构建过程中的问题。

进入 thingsboard-3.5.1 文件夹下运行命令

mvn -s F:\open-thingsboard\conf\settings.xml -T 0.8C clean install -DskipTests

-s <settings文件>:指定配置文件

-T <threadCount>:指定构建过程中可用的处理器核心数或明确的线程数。

其中 <threadCount> 可以是数字,表示并发线程数;也可以是 C 或 c 加上一个比例值,例如 0.5C 表示使用一半的CPU核心数进行并行构建。

# 明确指定8个线程进行构建

mvn -T 8 clean package

# 使用80%CPU核心数进行并行构建

mvn -T 0.8C clean packag

报错1:

 Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.12.0:yarn (yarn install) on project ui-ngx: Failed to run task: 'yarn install' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 128 (Exit value: 128) -> [Help 1]

解决

确认一下 maven仓库\repository\com\github\eirslett\frontend-maven-plugin\1.12.0 下有没有

frontend-maven-plugin-1.12.0.jar 文件,没有网上下一个,有的话,再执行一次就可以了。

报错2

Failed to execute goal org.thingsboard:gradle-maven-plugin:1.0.11:invoke (default) on project monitoring: org.gradle.tooling.GradleConnectingException:Could not install Gradle distribution from 'https://services.gradle.org/distributions/gradle-7.1.1-bin.zip'

解决:

手动从https://services.gradle.org/distributions/gradle-7.1.1-bin.zip下载所需依赖,放入gradle默认仓库下 C:\Users\Administrator\.gradle\wrapper\dists\gradle-7.1.1-bin\f29rtwfnc96ub43tt7p47zsru\

报错3:

Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.12.0:yarn(yarn pkg)on project js-executor:Failed to run task: 'yarn run pkg' failed. org.apache.commons.exec.ExecuteException:Process exited with an error:2(Exit value:2)->[Help 1]

解决:

日志网上翻,会发现一个

Not found in remote cache:
{"tag":"v3.4","name":"node-v16.15.0-win-x64"}

解决办法就是上 github 上下 node-v16.15.0-win-x64,把它放到 C:\Users\Administrator\.pkg-cache\v3.4 下面,并改名为 fetched-v16.15.0-win-x64Releases · vercel/pkg-fetch · GitHubA utility to fetch or build patched Node binaries used by `pkg` to generate executables. This repo hosts prebuilt binaries in Releases. - Releases · vercel/pkg-fetchicon-default.png?t=N7T8https://github.com/vercel/pkg-fetch/releases

报错4:

Failed to execute goal org.apache.maven.plugins:maven-clean-plugins:2.5:clean (default-clean)on project js-executor:Failed to clean project: Failed to delete F:\open-thingsboard\thingsboard-3.5.1\msa\js-executor\target\node\node.exe

解决:

问题的原因是之前项目构建过,因为别的原因失败了,但是F:\open-thingsboard\thingsboard-3.5.1\msa\js-executor\target\node\  下存在了node.exe 现在清理不掉,手动清理掉,如果提示不让清理,到任务管理器里面杀掉进程后清理掉就行。

成功:

6、IDEA运行

用IDEA打开项目

6.1 修改项目Maven设置

6.2 修改项目JDK设置

 6.3 数据库配置

6.3.1 postgres 新建一个库 thingsboard

6.3.2 修改application模块thingsboard.yml

6.3.3 将dao模块下的 canssandra 和 sql 拷贝到 application模块下data文件夹下

6.4 运行 ThingsboardInstallApplication

报错1:

Error running ThingsboardInstallApplication.Command line is too long.

解决:

在 Run/Debug Configurations 修改程序的 Shorten command line 为 JAR manifest

点击 Modify options

选择 Shorten command line

选择 JAR manifest

报错2:

java.lang.RuntimeException: resource lwm2m object model from file

Caused by: java.nio.file.NoSuchFileException: lwm2m-registry

解决:

thingsboard.yml 配置 install.data_dir 参数

install:
  data_dir: '${INSTALL_DATA_DIR:F:\open-thingsboard\thingsboard-3.5.1\application\src\main\data}'
  load_demo: '${INSTALL_LOAD_DEMO:true}'

load_demo 参数配置DefaultSystemDataLoaderService是否生成演示数据,一般也配置上true

成功:

6.5 运行 ThingsboardServerApplication

报错1:

Error running ThingsboardServerApplication. Command line is too long. Shorten the command line and rerun.

解决:

处理方式与6.4报错1是一样的。

成功:

​​​​​​​

6.6 登录

浏览器输入 localhost:8080/login

输入系统管理员账号 sysadmin@thingsboard.org / sysadmin

 6.7 说明

用这种方式运行的 thingsboard,业务数据、遥测数据、最新遥测数据,都在 postgres 一个库里面。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值