OpenJFX On Raspberry Pi

OpenJFX On Raspberry Pi

  • 硬件:树莓派4B
  • 系统:Raspberry Pi OS(64bit) beta test version
    • 下载地址:https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2020-05-28/2020-05-27-raspios-buster-arm64.zip

想在树莓派上做一个监控软件可以实时监控PC或者MAC电脑的性能状态,最好的方法就是做个网页通过js显示并更新电脑端传来的数据。这里获取电脑端数据的方式目前有几种可行的方法,一个是通过网络:在电脑端实现一个网页实时显示数据,树莓派通过ip访问电脑端的网页来展示,或者是电脑只更新数据到某个文本文件,树莓派通过ip拿到文件再把数据放进自己的网页或其他方式展示。一个是通过USB:电脑端通过USB将数据传输给树莓派,树莓派解码后通过网页或者其他方式展示。

但是自己又不会前端开发。只是个浅浅的Java狗,怎么办。好在Java有个桌面应用程序的技术——JavaFX,相比于Java之前的AWT,Swing,JavaFX是个全新的代替,之前用过Swing,挺烂,然而JavaFX也没好到哪去,现在国内有几个人在用呢?

应该是为了推广JavaFX,Oracle从Java 8开始直接在JDK捆绑了JavaFX,所以在Mac和Windows甚至Linux上,只需要装了JDK 8 以上的版本,就可以使用JavaFX。

但是对于ARM平台,JDK并不包含JavaFX。所以在树莓派上运行JavaFX会稍微麻烦一些。一边查一边试,用了一下午终于在树莓派上运行起来了,具体方法如下。

前提

JFX 程序是提前在电脑上编写的。打包生成jar文件后拷贝到树莓派。目前没在树莓派上开发只是为了尽快实现树莓派运行JFX,后续还是要在树莓派上进行开发的,因为可能会涉及到USB串口读写等硬件相关的开发。

方法一: OpenJDK + OpenJFX

  1. 安装OpenJDK_11
    sudo apt install openjdk-11-jdk
    

    然后可以通过 java -version 查看java是否正常安装成功

    pi@raspberrypi:~ $ java -version
    openjdk version "11.0.7" 2020-04-14
    OpenJDK Runtime Environment (build 11.0.7+10-post-Debian-3deb10u1)
    OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Debian-3deb10u1, mixed mode)
    
  2. 安装OpenJFX_11
    sudo apt install openjfx
    

    OpenJFX默认安装位置: /usr/share/openjfx/

  3. 设置环境变量
    sudo nano /etc/profile
    

    文件尾部添加

    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-arm64
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export JFX_PATH=/usr/share/openjfx/lib
    
  4. 将打包好的jar文件解压,进入目录执行
    java --module-path $JFX_PATH --add-modules javafx.controls,javafx.fxml sample.Main
    

    sample.Main是主类的包名+类名

    2020061006023789-1

    程序可以正常运行了。但是提示了一个Error。作为一名程序员,warning可以忍,error不行!

    Error - GLX extension is not supported 
    GLX version 1.3 or higher is required
    

    查了一下,只需要关闭硬件加速即可。 运行时候加速 -Dprism.order=sw 参数

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:小林博客 www.vvso.cn小林博客 » OpenJFX On Raspberry Pi

分享到: 更多 (0)

评论 抢沙发

切换注册

登录

忘记密码 ?

切换登录

注册