美文网首页
thingsboard Mac m1 编译踩坑记录

thingsboard Mac m1 编译踩坑记录

作者: michael_0x | 来源:发表于2022-02-16 11:26 被阅读0次

    首先是环境配置:

    java -version
    openjdk version "11.0.14" 2022-01-18 LTS
    OpenJDK Runtime Environment Zulu11.54+23-CA (build 11.0.14+9-LTS)
    OpenJDK 64-Bit Server VM Zulu11.54+23-CA (build 11.0.14+9-LTS, mixed mode)
    

    没有java 11的话,这里下载安装:
    https://www.azul.com/downloads/?version=java-11-lts&os=macos&package=jdk

    image.png

    thingsboard需要接入postgres数据库,数据库的默认配置在这里:

    image.png

    ·


    image.png

    其默认的postgres配置:
    数据库url:localhost:5432/thingsboard
    用户名:postgres
    密码:postgres

    因此需要配置一个postgres的数据库服务:
    1、拉取镜像文件

    docker pull postgres
    

    2、容器后台进程运行,向外暴露5432端口

      docker run --name mypostgres -e POSTGRES_PASSWORD=postgres -d -p 5432:5432 postgres
    

    运行成功后默认数据库登录名、密码皆为postgres,同默认配置一致了。

    接着装一个postgres的管理工具pgadmin4:

    docker pull dpage/pgadmin4
    
    docker run --name pgadmin -p 1443:80 -e "PGADMIN_DEFAULT_EMAIL=root@mytest.com" -e "PGADMIN_DEFAULT_PASSWORD=root" -d dpage/pgadmin4
    

    启动成功后,访问pgadmin4管理页面,登陆名和密码为pgadmin docker启动时配置的root@mytest.com 和 root.

    登陆后创建服务器
    首先查下postgres在docker内网的地址:

    docker inspect mypostgres
    "Networks": {
                    "bridge": {
                        "IPAMConfig": null,
                        "Links": null,
                        "Aliases": null,
                        "NetworkID": "3199ea6670a3658cd928860f3e48e1601fbc786b53b53e2aa362e410fb70c393",
                        "EndpointID": "dc374db699374951cdc2b542058f0efe4997f55add5f75326127922e0eccc596",
                        "Gateway": "172.17.0.1",
                        "IPAddress": "172.17.0.2",
                        "IPPrefixLen": 16,
                        "IPv6Gateway": "",
                        "GlobalIPv6Address": "",
                        "GlobalIPv6PrefixLen": 0,
                        "MacAddress": "02:42:ac:11:00:02",
                        "DriverOpts": null
                    }
                }
    

    然后添加数据库链接到pgadmin4


    image.png

    链接成功后,创建thingsboard对应的数据库,名称为thingsboard.


    image.png

    接下来clone代码:

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

    然后切换到最新的release分支:


    image.png

    针对mac编译报错做如下fix:

    image.png
    image.png

    其中ui-ngx编译date-fns会报错,cd到ui-ngx目录下:

    n stable
    node -v
    v16.14.0
    rm -rf node_modules/
    yarn -v
    1.22.17
    yarn install
    yarn add date-fns
    yarn build
    

    编译成功后,就可以回到主目录,编译整个项目:

    mvn clean install -DskipTests -X 
    

    编译完成后,thingsboard/application/target下就有了编译后的文件了:

    ls
    archive-tmp         generated-sources       thingsboard-3.3.3.jar
    bin             generated-test-sources      thingsboard-windows.zip
    classes             maven-archiver          thingsboard.changes
    conf                maven-status            thingsboard.deb
    control             protoc-3.17.2-osx-x86_64.exe    thingsboard.rpm
    data                test-classes            tmp
    debian              thingsboard-3.3.3-boot.jar  windows
    

    执行如下命令就可以运行单体应用

    java -jar thingsboard-3.3.3-boot.jar
    

    不过执行之前,还要初始化数据库,切换到target的bin的install目录下:

    chmod +x install_dev_db.sh
    ./install_dev_db.sh
    

    执行完后会在数据库中初始化测试数据,如果是生产环境的话则将 install_dev_db.sh 换成 install.sh

    运行
    application/src/main/java/org/thingsboard/server/ThingsboardServerApplication.java
    即可启动 Thingsboard 服务

    或者直接运行打包出来的 thingsboard-3.2.2-boot.jar :

    java -jar thingsboard-3.2.2-boot.jar
    

    启动后访问:http://127.0.0.1:8080

    测试账号:

    平台管理员:sysadmin@thingsboard.org sysadmin
    租户管理员:tenant@thingsboard.org tenant
    普通用户:customer@thingsboard.org customer

    相关文章

      网友评论

          本文标题:thingsboard Mac m1 编译踩坑记录

          本文链接:https://www.haomeiwen.com/subject/unvrlrtx.html