【物联网开源平台】tingsboard安装与编译

别看这篇了,这篇就当我的一个记录,我有空我再写过一篇,编译的时候出现了一个错误,然后我针对那一个错误执行了一个命令,出现了绿色的succes,我就以为整个tingsboard项目编译成功了,后面发现的时候,被自己无语到了,我太想要success了。
不过在我肝了8天,解决了好多个错误,一次次删环境删文件后,终于编译成功了!!(不过这还是第一步。。。只能说,不放弃,终究会成功的!)

文章目录

  • 分割线---------------------------------------------------------------------
  • 一,需要准备的环境
  • 二,获取tingsboard源码
    • 1.git拉取源码
    • 2.下载源码压缩包
  • 三.新建仓库存放依赖文件
  • 四,编译
  • 五,遇到的错误

在这里插入图片描述

分割线---------------------------------------------------------------------

提示:
1.这篇只要准备两个环境,方法更简单!
2.基于tingsboard 3.6.3
3. 建议软件不要安装在C盘,会涉及权限问题。
4,需要梯子下载的更快,不然很复杂
5,可以参考官网教程

一,需要准备的环境

1.JDK11(不一定要用openjdk)
2.maven (版本:apache-maven-3.6.3

可以看到是maven用的是java11:
在这里插入图片描述
这是我的一些环境变量路径:
在这里插入图片描述

用户变量:
在这里插入图片描述
系统变量:
在这里插入图片描述
PATH:
在这里插入图片描述
(因为找了很多资料改了很多次,我也不知道标准的环境变量配置应该是怎么样的,可以去找一些其他写的清楚的,也可以参考我的上一篇看这两个环境的搭建)

二,获取tingsboard源码

介绍两种方法:

1.git拉取源码

  • 进入thingsboard的官网:点此,找到github地址
    在这里插入图片描述
    复制下面链接到git控制台上进行克隆
    在这里插入图片描述
    右击:
    在这里插入图片描述
    输入:
git clone https://github.com/thingsboard/thingsboard.git

在这里插入图片描述
成功拉取源代码。

  • 直接拉可能拉的源码不稳定,有的可能还在更新中,所以可以切换分支进行拉取更好:
    在这里插入图片描述

2.下载源码压缩包

不用切换分支,直接下载源码:

  • 点击tags

在这里插入图片描述

  • 选择releases

在这里插入图片描述

  • 往下滑:
    在这里插入图片描述
    下载到指定目录。

三.新建仓库存放依赖文件

  1. 解压下载下来的tingsboars压缩包

  2. 新建文件夹,在本地存放依赖文件,方便后续查看
    在这里插入图片描述

  3. 复制本地仓库maven-repository的路径在这里插入图片描述

  4. 将settings.xml打开(或者用编译软件打开,排列更整齐,更方便看)
    在这里插入图片描述

  5. <localRepository>/path/to/local/repo</localRepository>复制一句。
    改为:<localRepository>D:\project\maven-repository</localRepository>(将/path/to/local/repo替换成刚刚复制的本地仓库路径D:\project\maven-repository)
    在这里插入图片描述

  6. 镜像改为阿里云的,下载更快

<!-- 阿里云仓库 --><mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central/</url><mirrorOf>central</mirrorOf></mirror><!-- 中央仓库1 --><mirror><id>repo1</id><mirrorOf>central</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://repo1.maven.org/maven2/</url></mirror></mirrors>

在这里插入图片描述
保存。

四,编译

  • 进入thingsboard-3.6.3的目录下
    在这里插入图片描述

  • 输入cmd

  • 打开官网:

  • 复制语句mvn clean install -DskipTests
    在这里插入图片描述

  • 输入下列语句更快:

mvn -T 0.8C clean install -DskipTests

在这里插入图片描述

  • 编译成功
    在这里插入图片描述

五,遇到的错误

  • Failed to execute goal com.mycila:license-maven-plugin:3.0:check (default)
[ERROR] Failed to execute goal com.mycila:license-maven-plugin:3.0:check (default) on project thingsboard: Some files do not have the expected license header -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

在这里插入图片描述
解决办法:输入mvn license:format再编译即可。

mvn license:format

参考资料: https://b23.tv/N20hI8G

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/571789.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python中lambda函数使用方法

在Python中&#xff0c;lambda 关键字用于创建匿名函数&#xff08;无名函数&#xff09;&#xff0c;这些函数的特点是简洁、一次性使用&#xff0c;并且通常用于只需要一行表达式的简单场景。下面是lambda函数的基本结构和使用方法&#xff1a; 基本语法&#xff1a; lambd…

JRT菜单

上一章搭建了登录界面的雏形和抽取了登录接口。给多组使用登录和菜单功能提供预留&#xff0c;做到不强行入侵别人业务。任何产品只需要按自己表实现登录接口后配置到容器即可共用登录界面和菜单部分。最后自己的用户关联到JRT角色表即可。 登录效果 这次构建菜单体系 首先用…

A Review on Influence Dissemination in Social Networks

Abstract 影响力传播研究是社交网络信息传播的关键问题。由于影响力分析在营销、广告、个性化推荐、舆情监测等方面的现实意义&#xff0c;研究人员从不同角度研究了该问题并提出了解决方案。在本文中&#xff0c;我们回顾了社交网络中的影响力传播&#xff0c;并得出结论&…

串口IAP介绍

一、STM32编程方式 &#xff08;1&#xff09;在线编程&#xff08;ICP&#xff0c;in circuit programming&#xff09; 系统存储器&#xff1a;留给ST写启动程序代码&#xff0c;启动程序代码通过串口1接口实现对闪存存储器的编程。 &#xff08;2&#xff09;在程序中编程…

深度优先搜索—三种遍历方式

先序遍历、中序遍历、后序遍历 1、先序遍历 2、中序遍历 3、后序遍历

【ArcGIS微课1000例】0106:ArcGIS制作风向频率(风速)玫瑰图

文章目录 一、效果预览二、加载数据三、创建图表四、图表修饰五、保存图片一、效果预览 在ArcGIS制作的风向频率玫瑰图最终效果如下所示: 二、加载数据 加载配套实验数据包中0106.rar中的excel数据,然后右键→打开。 三、创建图表 1. 创建图表。右击打开属性表,选择表选项…

java多线程基本操作方法

目录 一、isAlive&#xff08;&#xff09; 二、 join&#xff08;&#xff09; 三、start和run 四、 volatile() 五、synchronized 1、synchronized 引入 2、死锁 第一种情况&#xff1a;反复加锁 第二种情况 对不同对象嵌套加锁的死锁 3、形成死锁条件 六、wait…

谷粒商城——Redisson看门狗

可重入锁&#xff1a; 看门狗机制&#xff1a;(lock.lock()不设置过期时间就会自动触发 看门狗机制) 如果一个线程已经上锁后&#xff0c;在运行的过程中中断导致未释放锁从而导致其他线程无法进行&#xff0c;为此需要为每个锁设置自动过期时间。但是如果线程运行时间较长&am…

LVGL线条和画布功能

线条部件 线条部件由多个点连接而成&#xff0c;它可用于修饰界面或者展示数据。 要注意这里的描述&#xff0c;线条是由多个点连接而成的。 线条部件只有一个组成部分&#xff1a;主体 LV_PART_MAIN 线条是由多个点连接而成的对象&#xff0c;用户可以使用 lv_point_t 类型的…

“Hands-free AG audio“和“Stereo“的区别

用蓝牙连接耳机后&#xff0c;发现有两个选项 一个音量大&#xff0c;一个音质好&#xff0c;好奇去查了查。 “Hands-free AG audio”&#xff08;自由通话音频&#xff09;是指一种技术或功能&#xff0c;可以使您在进行通话时无需使用手部操作或接触设备。这通常适用于汽车…

vue3从精通到入门2:虚拟DOM的生成与真实DOM的转化

虚拟 DOM 实现是 Vue 框架的核心部分之一&#xff0c;它负责在真实 DOM 之上抽象出一个轻量级的、可复用的 JavaScript 对象树&#xff0c;用于高效地更新视图。 什么是虚拟DOM? 虚拟 DOM 是一个编程概念&#xff0c;它将真实的 DOM 树抽象为一个轻量级的 JavaScript 对象树…

Lua模拟面向对象

13.2 逻辑热更新——Lua2-2_哔哩哔哩_bilibili parent中添加 模拟面向对象