【问题标题】:Cant find JavaFX in JDK8 for Arm在 JDK 8 for Arm 中找不到 JavaFX
【发布时间】:2015-02-06 18:40:37
【问题描述】:

我在我的 beaglebone black 上下载并安装了适用于 ARM 的 JDK8u33,根据本文档 (http://docs.oracle.com/javase/8/embedded/jdk-arm-8u6/index.html) 包含并支持 javafx。

但是,我在 JRE 或 JDK 的任何地方都找不到 jfxrt.jar,并且在简单的 javafx 程序上使用 javac 会产生“javafx.application”不是一个包。

什么给了?

【问题讨论】:

  • using JavaFX on a Raspberry Pi上的相关问题
  • @jewelsea 是的,我打算把它作为评论发布,我要删除我的答案吗?
  • 不,保留它。我正在考虑将问题作为重复项来结束,但这个问题有点笼统,所以我认为即使它们有点相似,也可以将 Q&A 留在这里。

标签: javafx arm java-8 beagleboneblack


【解决方案1】:

正如@eckig 所说,自 8u33 for ARM 版本以来,Oracle 已从 ARM 发行版中删除了 JavaFX。

要运行任何 JavaFX 应用程序,您可以将您的版本降级到支持 JavaFX 的最新 JDK8u6,或者您可以提供有效的jfxrt.jar

您可以按照此tutorial 执行此操作,为 ARM 交叉构建 OpenJFX,或者仅使用托管在 JavaFXPorts 项目上的一些已构建的发行版,例如 one

一旦你下载了armv6hf-sdk.zip,解压它,你需要添加这个命令行选项来将这个外部源附加到类路径,使用扩展机制:

-Djava.ext.dirs=<path to armv6hf-sdk>/rt/lib/ext

例如,您需要这个来从其实际路径运行 JavaFX 旧样本之一:

sudo /opt/jdk1.8.0_33/bin/java -Djava.ext.dirs=<path to armv6hf-sdk>/rt/lib/ext -jar BrickBreaker.jar

【讨论】:

  • 我明白了,我每次尝试启动 javafx 程序时都需要添加该选项?无论如何要...永久添加它?
  • 嗯,你可以创建一个脚本文件来启动它
  • 您可以考虑将rt/lib/extrt/lib/ext 的内容直接安装(复制或符号链接)到您的JVM 中,例如:$JAVA_HOME/jre/lib/ext$JAVA_HOME/jre/lib/arm respectively。这将消除使用 -Djava.ext.dirs=&lt;path to armv6hf-sdk&gt;/rt/lib/ext 指令运行应用程序的需要。
【解决方案2】:

最新版本的 ARM 处理器 Java 开发工具包(用于 ARM 的 JDK 8u33)不再支持 JavaFX Embedded,这是所有技术新闻,例如这里:http://jaxenter.com/jdk-arm-without-javafx-end-javafx-embedded-114212.html

【讨论】:

  • 无赖...奇怪他们还没有更新他们的官方文档。有没有什么方法可以用 Javafx 下载旧版本的 JDK8 for Arm?
猜你喜欢
  • 2013-10-03
  • 2016-06-28
  • 1970-01-01
  • 2019-01-29
  • 1970-01-01
  • 2019-05-06
  • 2021-12-18
  • 1970-01-01
相关资源
最近更新 更多