当前位置: 首页 > news >正文

编译Thingsboard3.7.0的过程记录

1、首先去掉test测试,否则会有一堆问题,pom.xml修改如下:

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>${surefire.version}</version><configuration><skipTests>true</skipTests></configuration></plugin>

2、同时要配置gradle7.3.3,另外下载gradle-tooling-api-7.3.3.jar(可以通过下载gradle里找出来)

同时通过下面方式上传到你自己本地的maven库里

mvn install:install-file "-Dmaven.repo.local=E:\stsm2\repository" "-DgroupId=org.gradle" "-DartifactId=gradle-tooling-api" "-Dversion=7.3.3" "-Dpackaging=jar" "-Dfile=E:\gradle-tooling-api-7.3.3.jar"

也可以到https://mvnrepository.com/下载gradle-tooling-api-7.3.3.jar

3、这个版本是用java17

4、编译出现下面错误

[INFO] Thingsboard Server JS Client for remote JS execution SUCCESS [  2.224 s]
[INFO] Thingsboard Server DAO Layer ....................... SUCCESS [ 20.653 s]
[INFO] Thingsboard Rule Engine Components ................. SUCCESS [ 11.866 s]
[INFO] Thingsboard Server Transport Modules ............... SUCCESS [  0.032 s]
[INFO] Thingsboard HTTP Transport Service ................. FAILURE [  3.383 s]
[INFO] Thingsboard MQTT Transport Service ................. SKIPPED
[INFO] Thingsboard CoAP Transport Service ................. SKIPPED
[INFO] Thingsboard LwM2m Transport Service ................ SKIPPED
[INFO] Thingsboard SNMP Transport Service ................. SKIPPED
[INFO] ThingsBoard Server UI .............................. SKIPPED
[INFO] Thingsboard Server Tools ........................... SKIPPED
[INFO] Thingsboard Rest Client ............................ SKIPPED
[INFO] ThingsBoard Server Application ..................... SKIPPED
[INFO] ThingsBoard Microservices .......................... SKIPPED
[INFO] ThingsBoard Docker Images .......................... SKIPPED
[INFO] ThingsBoard Web UI Microservice .................... SKIPPED
[INFO] ThingsBoard Version Control Executor ............... SKIPPED
[INFO] ThingsBoard Version Control Executor Microservice .. SKIPPED
[INFO] ThingsBoard Node Microservice ...................... SKIPPED
[INFO] ThingsBoard Transport Microservices ................ SKIPPED
[INFO] ThingsBoard MQTT Transport Microservice ............ SKIPPED
[INFO] ThingsBoard HTTP Transport Microservice ............ SKIPPED
[INFO] ThingsBoard COAP Transport Microservice ............ SKIPPED
[INFO] ThingsBoard LWM2M Transport Microservice ........... SKIPPED
[INFO] ThingsBoard SNMP Transport Microservice ............ SKIPPED
[INFO] ThingsBoard JavaScript Executor Microservice ....... SKIPPED
[INFO] ThingsBoard Monitoring Service ..................... SKIPPED
[INFO] ThingsBoard Monitoring Microservice ................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  02:59 min
[INFO] Finished at: 2024-09-29T09:56:04+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.thingsboard:gradle-maven-plugin:1.0.12:invoke (default) on project http: Execution default of goal org.thingsboard:gradle-maven-plugin:1.0.12:invoke failed: A required class was missing while executing org.thingsboard:gradle-maven-plugin:1.0.12:invoke: org/gradle/internal/service/DefaultServiceRegistry
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.thingsboard:gradle-maven-plugin:1.0.12
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy

5、主要原因就是 找不到类 org/gradle/internal/service/DefaultServiceRegistry

 原因找不到,不知道是什么原因,后来还是用它自己下载的gradle编译才能成功

6、ui-ngx的pom.xml里去掉下面内容,因为也下载不下来,自己手动操作

<executions><execution><id>install node and npm</id><goals><goal>install-node-and-yarn</goal></goals><configuration><nodeVersion>v20.11.1</nodeVersion><yarnVersion>v1.22.17</yarnVersion></configuration></execution><execution><id>yarn install</id><goals><goal>yarn</goal></goals><configuration><arguments>install --non-interactive --network-concurrency 4 --network-timeout 100000 --mutex network</arguments></configuration></execution></executions>
<executions><execution><id>yarn build</id><goals><goal>yarn</goal></goals><configuration><arguments>run build:prod</arguments></configuration></execution></executions>

8、到ui-ngx里自己用

yarn install

yarn run build:prod

9、之前编译出现下面错误

[[1;34mINFO[m] Thingsboard Extensions ............................. [1;32mSUCCESS[m [  0.143 s]
[[1;34mINFO[m] Thingsboard Rule Engine API ........................ [1;32mSUCCESS[m [  2.339 s]
[[1;34mINFO[m] Thingsboard Server JS Client for remote JS execution [1;32mSUCCESS[m [  1.052 s]
[[1;34mINFO[m] Thingsboard Server DAO Layer ....................... [1;32mSUCCESS[m [ 13.171 s]
[[1;34mINFO[m] Thingsboard Rule Engine Components ................. [1;32mSUCCESS[m [  9.574 s]
[[1;34mINFO[m] Thingsboard Server Transport Modules ............... [1;32mSUCCESS[m [  0.030 s]
[[1;34mINFO[m] Thingsboard HTTP Transport Service ................. [1;31mFAILURE[m [01:09 min]
[[1;34mINFO[m] Thingsboard MQTT Transport Service ................. [1;33mSKIPPED[m
[[1;34mINFO[m] Thingsboard CoAP Transport Service ................. [1;33mSKIPPED[m
[[1;34mINFO[m] Thingsboard LwM2m Transport Service ................ [1;33mSKIPPED[m
[[1;34mINFO[m] Thingsboard SNMP Transport Service ................. [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard Server UI .............................. [1;33mSKIPPED[m
[[1;34mINFO[m] Thingsboard Server Tools ........................... [1;33mSKIPPED[m
[[1;34mINFO[m] Thingsboard Rest Client ............................ [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard Server Application ..................... [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard Microservices .......................... [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard Docker Images .......................... [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard Web UI Microservice .................... [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard Version Control Executor ............... [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard Version Control Executor Microservice .. [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard Node Microservice ...................... [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard Transport Microservices ................ [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard MQTT Transport Microservice ............ [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard HTTP Transport Microservice ............ [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard COAP Transport Microservice ............ [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard LWM2M Transport Microservice ........... [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard SNMP Transport Microservice ............ [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard JavaScript Executor Microservice ....... [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard Monitoring Service ..................... [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard Monitoring Microservice ................ [1;33mSKIPPED[m
[[1;34mINFO[m] [1m------------------------------------------------------------------------[m
[[1;34mINFO[m] [1;31mBUILD FAILURE[m
[[1;34mINFO[m] [1m------------------------------------------------------------------------[m
[[1;34mINFO[m] Total time:  03:12 min
[[1;34mINFO[m] Finished at: 2024-09-30T13:13:19+08:00
[[1;34mINFO[m] [1m------------------------------------------------------------------------[m
[[1;31mERROR[m] Failed to execute goal [32morg.thingsboard:gradle-maven-plugin:1.0.12:invoke[m [1m(default)[m on project [36mhttp[m: [1;31morg.gradle.tooling.GradleConnectionException: Could not install Gradle distribution from 'https://services.gradle.org/distributions/gradle-7.3.3-bin.zip'.[m -> [1m[Help 1][m
[[1;31mERROR[m] 
[[1;31mERROR[m] To see the full stack trace of the errors, re-run Maven with the [1m-e[m switch.
[[1;31mERROR[m] Re-run Maven using the [1m-X[m switch to enable full debug logging.
[[1;31mERROR[m] 
[[1;31mERROR[m] For more information about the errors and possible solutions, please read the following articles:
[[1;31mERROR[m] [1m[Help 1][m http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[[1;31mERROR[m] 
[[1;31mERROR[m] After correcting the problems, you can resume the build with the command
<groupId>org.thingsboard</groupId><artifactId>gradle-maven-plugin</artifactId><configuration><gradleProjectDirectory>${main.dir}/packaging/${pkg.type}</gradleProjectDirectory><gradleDistribution>https://mirrors.cloud.tencent.com/gradle/gradle-7.3.3-bin.zip</gradleDistribution><gradleInstallationDir>D:\\gradle7.3.3</gradleInstallationDir><tasks><task>build</task><task>buildDeb</task><task>buildRpm</task></tasks><args>

必须要用它下载的gradle来编译才行,否则自己搞个环境gradle7.3.3老是报下面错误

Execution default of goal org.thingsboard:gradle-maven-plugin:1.0.12:invoke failed: A required class was missing while executing org.thingsboard:gradle-maven-plugin:1.0.12:invoke: org/gradle/internal/service/DefaultServiceRegistry 

9、上面解决后,出现下面错误,就是web-ui模块出现问题,因为要下载yarn进行打包等,删除掉了,所以少了东西,需要手工自己进行下载yarn,打包了

[[1;34mINFO[m] ThingsBoard Docker Images .......................... [1;32mSUCCESS[m [  2.426 s]
[[1;34mINFO[m] ThingsBoard Web UI Microservice .................... [1;31mFAILURE[m [  1.345 s]
[[1;34mINFO[m] ThingsBoard Version Control Executor ............... [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard Version Control Executor Microservice .. [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard Node Microservice ...................... [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard Transport Microservices ................ [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard MQTT Transport Microservice ............ [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard HTTP Transport Microservice ............ [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard COAP Transport Microservice ............ [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard LWM2M Transport Microservice ........... [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard SNMP Transport Microservice ............ [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard JavaScript Executor Microservice ....... [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard Monitoring Service ..................... [1;33mSKIPPED[m
[[1;34mINFO[m] ThingsBoard Monitoring Microservice ................ [1;33mSKIPPED[m
[[1;34mINFO[m] [1m------------------------------------------------------------------------[m
[[1;34mINFO[m] [1;31mBUILD FAILURE[m
[[1;34mINFO[m] [1m------------------------------------------------------------------------[m
[[1;34mINFO[m] Total time:  06:14 min
[[1;34mINFO[m] Finished at: 2024-09-30T14:55:03+08:00
[[1;34mINFO[m] [1m------------------------------------------------------------------------[m
[[1;31mERROR[m] Failed to execute goal [32morg.apache.maven.plugins:maven-assembly-plugin:3.0.0:single[m [1m(assembly)[m on project [36mweb-ui[m: [1;31mFailed to create assembly: Error adding file to archive: E:\test\thingsboard-master\msa\web-ui\target\package\windows\bin\tb-web-ui.exe[m -> [1m[Help 1][m
[[1;31mERROR[m] 
[[1;31mERROR[m] To see the full stack trace of the errors, re-run Maven with the [1m-e[m switch.
[[1;31mERROR[m] Re-run Maven using the [1m-X[m switch to enable full debug logging.
[[1;31mERROR[m] 
[[1;31mERROR[m] For more information about the errors and possible solutions, please read the following articles:
[[1;31mERROR[m] [1m[Help 1][m http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[[1;31mERROR[m] 
[[1;31mERROR[m] After correcting the problems, you can resume the build with the command
[[1;31mERROR[m]   [1mmvn <args> -rf :web-ui

打包如下,半天下载不下来,看来又要手工去下载了。放到PKG_CACHE_PATH里:

E:\test\thingsboard-master\msa\web-ui>yarn pkg
yarn run v1.21.1
$ tsc && pkg -t node16-linux-x64,node16-win-x64 --out-path ./target ./target/src && node install.js
> pkg@5.8.1
> Fetching base Node.js binaries to PKG_CACHE_PATHfetched-v16.16.0-linux-x64          [                    ] 1%

需要放在这个地方,只有手工下载3.4版本了从在 Releases · vercel/pkg-fetch · GitHub 找到 v3.4下载

10、下载后修改如下的名称才行,总共需要下载4个,如下修改名称

11、这样总算编译成功

附:重新自动编译mvn clean install -DskipTests

删除maven下载有问题的包库文件,以便下次正确下载

for /r %i in (*.lastUpdated) do del %i

http://www.lryc.cn/news/455370.html

相关文章:

  • vulnhub-THE PLANETS-EARTH靶机
  • 【C语言】分支和循环(2)
  • Python数据分析-远程办公与心理健康分析
  • LabVIEW提高开发效率技巧----使用动态事件
  • 【STM32开发之寄存器版】(五)-窗口看门狗WWDG
  • Leetcode203.移除链表元素-Python
  • 属性拷贝MapStruct
  • Chromium 添加书签功能浅析c++
  • Spring Cloud Netflix Ribbon 负载均衡详解和案例示范
  • Armeria gPRC 高级特性 - 装饰器、无框架请求、阻塞处理器、Nacos集成、负载均衡、rpc异常处理、文档服务......
  • 如何制作一个企业网站,建设网站的基本步骤有哪些?
  • 01-python+selenium自动化测试-基础学习
  • 【redis-05】redis保证和mysql数据一致性
  • 写一个登录判断机制py
  • 特征点检测与匹配是计算机视觉中的基础任务之一,广泛应用于图像配准、物体识别、运动估计、三维重建等领域。
  • python——Echarts现交互式动态可视化
  • 【含开题报告+文档+PPT+源码】基于SSM框架的民宿酒店预定系统的设计与实现
  • 正确理解协程
  • 蒙特卡罗方法 - 采样和蒙特卡罗方法篇
  • 论文阅读:InternVL v1.5| How Far Are We to GPT-4V? 通过开源模型缩小与商业多模式模型的差距
  • 什么是电能表PTB认证
  • C# 单例模式继承
  • ESP8266模块(WIFI STM32)
  • 微信小程序学习实录9:掌握wx.chooseMedia实现多图片文件上传功能(选择图片、预览图片、上传图片)
  • 助动词的分类及其缩略形式
  • Redis——分布式锁
  • C++面试速通宝典——13
  • 数据结构(二叉树)
  • Windows 通过 Docker 安装 GitLab
  • SQL专项练习第六天