【问题标题】:Running Javafx GUI on the Raspberry Pi在 Raspberry Pi 上运行 Javafx GUI
【发布时间】:2016-11-08 07:42:39
【问题描述】:

我有一些程序需要在 Raspberry Pi 上运行,并在连接到 Raspberry Pi 的液晶显示器上显示输出。

我使用 Java 进行编程,JavaFX 专门用于 GUI。但是在 Pi 上运行程序时,它会给出不同的错误,有时没有检测到 javafx 扩展,有时无法找到主类。

我用于 Pi 的操作系统是 Raspbian。并在 Putty 上执行所有通信。我尝试过使用 jdk 1.8.0、1.7.0; ejdk;打开jdk。但似乎都给出了不同的错误。

如果有人能告诉我一种在 Pi 上安装相关 jdk 和 jre 的方法,如果我格式化我的 SD 卡并重新开始一切,那将非常有帮助。

此外,不使用 Javafx 的程序在 Pi 上运行时不会出现故障。

【问题讨论】:

    标签: java user-interface javafx raspberry-pi raspbian


    【解决方案1】:

    如您所见 here,最新的 ARM JDK 版本不包括 JavaFX。

    如果您想在 Raspberry Pi 中使用 JavaFX,解决方案是添加缺少的 JavaFX SDK。

    如果您从here(选择jdk-8u111-linux-arm32-vfp-hflt.tar.gz)安装最新的Oracle JDK for ARM,那么您将需要从Gluon 的site 下载JavaFX SDK(选择 JavaFX Embedded SDK for armv6 hard float)。

    获得文件后,解压缩,然后将文件夹复制到 JDK。

    假设您已将 armv6hf-sdk-8.60.8.zip 下载到您的 Pi/Downloads 文件夹,并且您已将其解压缩到文件夹 armv6hf-sdk,如下图所示:

    使用以下命令将允许您从命令行将文件移动到 JDK 所需的文件夹。您也可以为此使用图形工具。

    cd Downloads
    sudo chown -R root:root armv6hf-sdk
    cd armv6hf-sdk
    sudo mv lib/javafx-mx.jar /opt/jdk1.8.0_111/lib/
    cd rt/lib/
    sudo mv j* /opt/jdk1.8.0_111/jre/lib/
    sudo mv arm/* /opt/jdk1.8.0_111/jre/lib/arm/
    sudo mv ext/* /opt/jdk1.8.0_111/jre/lib/ext/ 
    

    之后,您应该能够运行 Java/JavaFX 程序了。

    如果您还查看了 Gluon IDE plugins,您将能够在您的桌面上创建项目并将它们远程部署到您的 Pi(以及您的桌面和移动设备上)。检查文档here 以设置您的构建脚本。并检查示例 GluonSQLite here

    【讨论】:

    • 当我输入代码时 sudo mv lib/javafx-mx.jar /opt/jdk1.8.0_101/lib/ 它给出了 cannot stat "lib/javafx-mx.jar" no such file or directory作为输出。当我通过 winscp 访问树莓派时,javafx-mx.jar 文件丢失了。当我试图在 winscp 的帮助下放置 javafx-mx.jar 文件时。它给出了一个对话框,上面写着“权限被拒绝错误代码:3”请帮我解决这个问题。
    • 确保您已下载 armv6hf-sdk.zip,然后您已提取所有文件。然后使用chown,然后将文件复制或移动到您本地的JDK安装文件夹中,如上面的sn -p所示。使用 winSCP,您可以验证您是否拥有这些文件。
    • 我用本地 Pi/Downloads 文件夹的图片编辑了我的答案
    • 先生,我们做了同样的事情,并给出了错误“无法统计 Lib/javafx-mx.jar 没有这样的或文件目录作为输出”
    • 如果你运行sudo apt-get install oracle-java8-jdk,JDK将安装在/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/。我通常下载它并手动安装它,所以它转到/opt/jdk1.8.0_111。但是一旦你找到你的 JDK 文件夹,安装 JavaFX SDK 的过程是一样的。
    猜你喜欢
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 2020-06-19
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 2018-09-26
    • 2018-12-09
    相关资源
    最近更新 更多