运行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