1.首先我们要检查我们所需要的环境是否全部安装,还有对应的版本,一定要按照项目要求的版本来,要不然你会给自己挖很多坑。
我们使用的是3.6.4的版本,下面的版本全是基于这个版本的。需要安装好已经配置环境变量。
这部分大家就自己百度查一下。
2.添加maven镜像配置,这个官方文档有,我这里也粘贴一下。
<mirror> <id>central</id> <name>aliyun central</name> <url>https://maven.aliyun.com/repository/central</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>google</id> <name>aliyun google</name> <url>https://maven.aliyun.com/repository/google</url> <mirrorOf>google</mirrorOf> </mirror> <mirror> <id>public</id> <name>aliyun public</name> <url>https://maven.aliyun.com/repository/public</url> <mirrorOf>public</mirrorOf> </mirror> <mirror> <id>gradle-plugin</id> <name>aliyun gradle-plugin</name> <url>https://maven.aliyun.com/repository/gradle-plugin</url> <mirrorOf>gradle-plugin</mirrorOf> </mirror> <mirror> <id>spring</id> <name>aliyun spring</name> <url>https://maven.aliyun.com/repository/spring</url> <mirrorOf>spring</mirrorOf> </mirror> <mirror> <id>spring-plugin</id> <name>aliyun spring-plugin</name> <url>https://maven.aliyun.com/repository/spring-plugin</url> <mirrorOf>spring-plugin</mirrorOf> </mirror> <mirror> <id>grails-core</id> <name>aliyun grails-core</name> <url>https://maven.aliyun.com/repository/grails-core</url> <mirrorOf>grails-core</mirrorOf> </mirror> <mirror> <id>apache-snapshots</id> <name>aliyun apache-snapshots</name> <url>https://maven.aliyun.com/repository/apache-snapshots</url> <mirrorOf>apache-snapshots</mirrorOf> </mirror> <!-- 中央仓库1 --> <mirror> <id>repo1</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://insecure.repo1.maven.org/maven2/</url> </mirror>
3.下载源码
源码下载可以通过git直接下载。
git clone https://github.com/thingsboard/thingsboard.git
通过这个下载下来的是最新的版本,现在已经是3.7多了,
下载其他版本你可以进入到git直接下载对应的zip
也可以通过命令指定版本下载
git clone -b release-3.6.4 git@github.com:thingsboard/thingsboard.git
4.编译源码(这里就是耗时最长,并且最容易出现问题)
编译源码我们先进入thingsboard根目录
执行命令
mvn clean install -DskipTests
这里会自动加载项目中用到的环境,加载时间比较长,大家首先要确保网络环境没有问题
因为我在出现问题的时候,查找了好多解决方案都说是网络问题。我编译的时候其实是没有网络环境问题,全是版本问题。
问题1 JDK版本问题
我开始是直接使用git拉取的,结果没有看版本拉取下来是最新版本3.7多的,我在编译的时候报错提示不支持17,最新版使用的就是jdk17,而我本地的是11
解决方法:删除下载的源码,重新下载3.6.4,再进行编译
问题2 此应用无法在你电脑运行。
我在编译的过程中,加载到web-ui的时候就弹出这个提示,找了好久,然后在网上有人说是电脑系统的问题,害的我差点重装系统,其实并不是,这个是node版本 还有yarn的版本和你本地不一致导致的,项里有好几个配置这两版本的地方,我只看了ui-ngx目录下的pom里的版本,然后在msa目录下的pom文件中还有,好像还有一个pom文件中也有,并且源码中这几个地方用的版本不一致,大家找的时候最好全局查找,然后把所有引用的地方版本全部统一。
解决方法:全局查找,将所有的node 、 yarn 版本统一
解决完这两问题我的项目就可以编译成功了。
5安装数据库
然后我们需要安装PostgreSQL 使用PostgreSQL 12.X及以上版本,这里大家也自己百度吧
安装好新建一个 thingsboard 数据库
6.运行添加依赖
然后我们将项目导入idea
第一步需要配置pgSql
第二步 点击安装程序
选择下面的第一个运行
这里运行的时候报了一个错
问题 Error running ‘Application’: command line is too long
解决方法
改完这个就可以正常执行安装程序了,执行完数据库会生成对应的表
7 启动项目
直接启动 ThingsboardServerApplication
这里也会遇到和执行安装程序一样的问题,按照上面同样的配置即可
程序启动后我们在浏览器访问http://localhost:8080/
管理员默认名:sysadmin@thingsboard.org
默认密码:sysadmin
登陆成功主界面
到此thingsboard3.6.4源码编译运行全部完成,我觉得这里最大的坑就是版本不统一问题,这里卡 了我两天。如果的确有网络下载不了依赖的,大家可以去下载SSRDOG,这个新用户可以免费使用24小时 3G的流量,把代理开了去下载。
好啦,希望大家都能顺利编译运行。