运行jdk1.8.0的ARM上的JavaFX

我知道Oracle在8u33中删除了JavaFX,但是我想知道为什么我不能在jdk1.8.0中使用JavaFX?我是从Oracle存档(http://download.oracle.com/otn/java/jdk/8-b132/jdk-8-linux-

arm-vfp-

hflt.tar.gz)中获得的

我已经提取了这个/usr/bin/java_8_arm/jdk1.8.0并正在运行我的.jar文件sudo

/usr/bin/java_8_arm/jdk1.8.0/bin/java -jar jarfile.jar

连续/usr/bin/java_8_arm/jdk1.8.0/bin/java -version收益

java version "1.8.0"

Java (TM) SE Runtime Environment (build 1.8.0-b132)

Java HotSpot (TM) client VM (build 25.0-b70, mixed mode)

并运行 System.out.println("Running Java version: " +

Runtime.class.getPackage().getImplementationVersion());

退货 Running Java Version: 1.8.0

我得到的错误是:

Exception in thread "main" java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel

at front_end.GUI.initGUI(GUI.java:47)

at back_end.Run.main(Run.java:28)

Caused by: java.lang.ClassNotFoundException: javafx.embed.swing.JFXPanel

at java.net.URLClassLoader$1.run(URLClassLoader.java:372)

at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:360)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

... 2 more

如果您想知道,我正在通过Windows 7编写程序并将其编译为共享文件,并从Raspberry Pi运行JAR。

inb4“为什么在树莓派上需要javafx”-呈现html,因为其他java组件仅支持html

3.2。我尝试了其他渲染器。这是我什至可以在桌面上正常工作的唯一工具,更不用说RPi了。

另外,我也在1.8.0上进行编程和编译。

更新:

按照JoséPereda的回答,我已经下载了JavaFX文件,并将它们放在我的原始Java安装/usr/bin/jdk8u6/文件中(显然,我现在用作我的文件夹jdk1.8.0_06)。

这是我的安装层次结构,从lib目录开始:

/usr/bin/jdk8u6/lib/:

arm ext javafx.properties jfxswt.jar tools.jar

ct.sym ir.idl jconsole.jar orb.idl

dt.jar javafx.platform.properties jexec sa-jdi.jar

/usr/bin/jdk8u6/lib/arm:

jli libgstreamer-lite.so libjfxmedia.so

libdecora_sse.so libjavafx_font_freetype.so libjfxwebkit.so

libfxplugins.so libjavafx_font_pango.so libprism_common.so

libglass_monocle.so libjavafx_font.so libprism_es2_eglfb.so

libglass_monocle_x11.so libjavafx_iio.so libprism_es2_monocle.so

libglass.so libjawt.so libprism_sw.so

/usr/bin/jdk8u6/lib/arm/jli:

libjli.so

/usr/bin/jdk8u6/lib/ext:

jfxrt.jar

我仍然遇到相同的错误。

回答:

您可以从此处下载JavaFX for ARM的更新和升级版本:JavaFX Embedded

SDK

一旦下载到Raspberry Pi上,您将需要提取内容并将其复制到JDK

1.8中(检查此链接是否为嵌入式)。

您将能够在Pi上运行 ARM * 的最新JavaFX版本,包括WebView控件。

另外,通过将Gluon插件用于您的IDE,您还可以在Pi上远程部署项目。

  • ARM:请注意,JavaFX for ARM从未支持Swing。WebView和Media等其他功能也不受支持,但最近这些功能已包含在Gluon的版本中。

以上是 运行jdk1.8.0的ARM上的JavaFX 的全部内容, 来源链接: utcz.com/qa/432834.html

回到顶部