关于作者

工具准备:

git 2.16.2 windows命令行版

java jdk 1.8:https://www.cnblogs.com/harmful-chan/p/12193497.html

maven 3.6.3:https://www.cnblogs.com/harmful-chan/p/12193579.html

nvm 1.1.7:https://www.cnblogs.com/harmful-chan/p/12193611.html

  nodejs10.16.0

  npm 6.9.0

数据库准备:

  postgreSQL 9.5.20:介绍安装及配置


安装nodejs部件

npm install -g cross-env
npm install -g webpack
npm install -g gulp

拉取源码

进入自定义目录右击鼠标点击Git Bash Here(装完Git之后才会出现)。

注意:目录千万不要有空格或者中文,nvm不支持。

git clone https://github.com/thingsboard/thingsboard.git

切换代码分支到发布版

注意:一定要切换,不然会发生很多问题。

cd thingsboard
git branch -a //查看分支
git checkout release-2.4 //本机发布版最新是2.4建议用这个

屏蔽license验证

(本机试过不屏蔽可以但为了方便还是屏蔽吧)

记事板打开thingsboard/pom.xml找到“license-maven-plugin”节点注释掉,保存

修改thingsboard/ui/pom.xml的node和npm版本与本机对应

node -v    //查看版本
npm -v //查看版本

跳过js-executor和web-ui的windows编译

本地测试不需要,部署应用才需要打包,同时修改以下两个文件,注释掉这个插件

vim thingsboard/msa/js-executor/pom.xml
vim thingsboardmsa/web-ui/pom.xml

添加Maven仓库

这一步很重要,其他仓库或多或少少几个包,导致编译失败

  <mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  </mirror>
  <mirror>
<!--This is used to direct the public snapshots repo in the
profile below over to a different nexus group -->
<id>nexus-public-snapshots</id>
<mirrorOf>public-snapshots</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
  </mirror>

打包安装

(等吧,每个20来分钟编译不玩)

mvn clean install -DskipTests -X    //跳过编译测试文件,编译DEBUGE版,linux加上sudo

别人家的图。。。

查看输出文件thingsboard\application\target

.zip为可执行服务,下篇教如何使用。


 注意:基本上面步骤不可能顺利完成的,下面开始填坑。

1、必须用管理员身份打开cmd,编译过程频繁复制拷贝下载,一步错要重新来过。如果不放心把文件夹的只读权限去掉。

右击thingsboard文件夹属性,把只读的勾勾去掉。这步用处不大,但好过没有。

2、Thingsboard HTTP Transtorp [17/32] 发生错误,说xxx删除不掉,打开控制,把正在运行的JAVA 虚拟机结束任务再编译。

正常的话如果没用运行过java应用,这个虚拟机都不会用到。

 3.Thingsboard Server UI [22/32] 22还是23忘了,总之就是UI部件报错 。npm ERR! errno: -4048, 之类的。

、 删除 C:\Users\{当前用户名}\.npmrc文件    //这个是切换国内源用到的临时文件,看别人删我也删了
、 清空 C:\Users\{当前用户名}\AppData\Roaming\npm-cache //npm临时缓存
、 删除 thingsboard\ui\node_modules目录
、 运行 npm cache clean --force //清空缓存
5、 再次运行打包命令

 4、maven错误,说下载不到xxx包更换源,再打包

 5、其他错误,再找吧,一次不行试多两次哈哈。


参考:

https://blog.csdn.net/liuli283/article/details/88376975

https://www.cnblogs.com/Qianwen-Li/p/11562348.html

https://www.cnblogs.com/danny-djy/p/9051714.html

thingsboard入坑记(一)本机编译运行的更多相关文章

  1. Kylo 入坑记

    一.概述 Kylo,作为一个基于 Spark 和 NiFi 的开源数据湖编排框架,解决对数据湖获取.治理.感知和技术支持等诸多问题.Kylo 将数据湖的很多功能自动化,包括数据接入.准备.分析发现.P ...

  2. Hadoop入坑记

    Hadoop入坑记 按照官方给的伪分布式配置 etc/hadoop/core-site.xml: <configuration> <property> <name> ...

  3. Spring Cloud Gateway入坑记

    Spring Cloud Gateway入坑记 前提 最近在做老系统的重构,重构完成后新系统中需要引入一个网关服务,作为新系统和老系统接口的适配和代理.之前,很多网关应用使用的是Spring-Clou ...

  4. conda命令入坑记

    conda命令入坑记 本人使用的软件版本: TypeError: LoadLibrary() argument 1 must be str, not None 网上太多的资料,大多都是在讲path的设 ...

  5. gRPC入坑记

    概要 由于gRPC主要是谷歌开发的,由于一些已知的原因,gRPC跑demo还是不那么顺利的.单独写这一篇,主要是gRPC安装过程中的坑太多了,记录下来让大家少走弯路. 主要的坑: 如果使用PHP.Py ...

  6. ALS部署Spark集群入坑记

    [Stage 236:> (0 + 0) / 400]17/12/04 09:45:55 ERROR yarn.ApplicationMaster: User class threw excep ...

  7. Day25 前端自学日记——入坑记

    一 学习契机 今年是走出校门的第一个年头,进入了一家还算不错的公司,领着一份还算不错的薪水,在外人眼中,似乎这样已经不错了,只要我努力好好做,前程一片光明.可事实真是这样吗?两份实习经历都指向我应该从 ...

  8. Highcharts入坑记

    第一次用Highcharts画一个温度湿度变化的图片,因为不熟悉跳了好多坑,特记录下: 一.JS引用 <script src="~/Scripts/jquery.min.js" ...

  9. 【netcore入坑记】 .Net core UseRowNumberForPaging 分页报错 SQL Server 2008 R2 EntityFrameworkCore

    异常环境: netcore版本:.Net Core 2.1 efcore版本:Microsoft.EntityFrameworkCore.SqlServer 2.1.1 sql sqlserver 版 ...

随机推荐

  1. JS-06-定时器

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. V8垃圾回收?看这篇就够了!

    什么是内存管理 内存管理是控制和协调应用程序访问电脑内存的过程.这个过程是复杂的,对于我们来说,可以说相当于一个黑匣子. 当咱们的应用程序运行在某个操作系统中的时候,它访问电脑内存(RAM)来达成下列 ...

  3. <背包>solution-CF118D_Caesar's Legions

    Caesar's Legions Gaius Julius Caesar, a famous general, loved to line up his soldiers. Overall the a ...

  4. 前端 JS/TS 调用 ASP.NET Core gRPC-Web

    前言 在上两篇文章中,介绍了ASP.NET Core 中的 gRPC-Web 实现 和 在 Blazor WebAssembly 中使用 gRPC-Web,实现了 Blazor WebAssembly ...

  5. Kafka网络模型和通信流程剖析

    1.概述 最近有同学在学习Kafka的网络通信这块内容时遇到一些疑问,关于网络模型和通信流程的相关内容,这里笔者将通过这篇博客为大家来剖析一下这部分内容. 2.内容 Kafka系统作为一个Messag ...

  6. apace访问403错误的解决方法汇总

    作为一个努力学习的实习生,遇到问题还是靠记录才能更好的学习. 首先附上故障图 翻译过来就是啥呢? 于是天真的我去百度了一下大神们的解决方法,目录没权限嘛,来个777就完事了.一开始还觉得挺合乎情理的, ...

  7. 《ASP.NET Core 高性能系列》静态文件中间件

    一.概述 静态文件(如 HTML.CSS.图片和 JavaScript等文件)是 Web程序直接提供给客户端的直接加载的文件. 较比于程序动态交互的代码而言,其实原理都一样(走Http协议), ASP ...

  8. git远程上传文件至github

    一.本地安装和配置git 1.安装git pacman -S git //如果没有问题的话就可以安装成功了 2.验证 git --version //看到结果git version 2.10.2就可以 ...

  9. Ceph 存储集群7-故障排除

    Ceph 仍在积极开发中,所以你可能碰到一些问题,需要评估 Ceph 配置文件.并修改日志和调试选项来纠正它. 一.日志记录和调试 般来说,你应该在运行时增加调试选项来调试问题:也可以把调试选项添加到 ...

  10. PAT基础编程练习

    7-1 厘米换算英尺英寸 (15 分)   如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(.现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12 ...