• thingsboard release-2.4(一)本机编译运行


     

    关于作者

    工具准备:

    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

    别人家的图。。。

    查看输出文件thingsboardapplication arget

     .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, 之类的。

    1、 删除 C:Users{当前用户名}.npmrc文件    //这个是切换国内源用到的临时文件,看别人删我也删了
    2、 清空 C:Users{当前用户名}AppDataRoaming
    pm-cache    //npm临时缓存
    3、 删除 thingsboardui
    ode_modules目录
    4、 运行 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 

  • 相关阅读:
    windows10更新导致中文乱码
    优化国际网站从一分钟到4~6秒
    修改elementUI组件自带的提示文字并支持国际化
    Python钉钉报警及Zabbix集成钉钉报警
    Go热门开源项目大全
    CentOS7基于ss5搭建Socks5代理服务器
    sass map !default 属性覆盖
    Linux下mv命令高级用法
    设置与查看Linux系统中的环境变量
    Linux下more命令高级用法
  • 原文地址:https://www.cnblogs.com/harmful-chan/p/12193225.html
Copyright © 2020-2023  润新知