首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行jdk1.8.0的ARM上的JavaFX

运行jdk1.8.0的ARM上的JavaFX
EN

Stack Overflow用户
提问于 2016-06-29 14:16:32
回答 1查看 4.9K关注 0票数 9

我知道甲骨文在8u33中删除了JavaFX,但我想知道为什么我不能在jdk1.8.0中使用JavaFX?我是从甲骨文档案馆(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中提取了这个文件,并且正在使用sudo /usr/bin/java_8_arm/jdk1.8.0/bin/java -jar jarfile.jar运行我的.jar文件

运行/usr/bin/java_8_arm/jdk1.8.0/bin/java -version返回

代码语言:javascript
复制
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

我得到的错误是:

代码语言:javascript
复制
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“为什么需要在raspberry pi上使用javafx”来呈现html,因为其他java组件只支持HTML3.2。我试过其他渲染器。这是我唯一能在我的桌面上工作的,更不用说RPi了。

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

更新:

根据JoséPereda的回答,我已经下载了JavaFX文件并将它们放在我最初的java安装中(我现在使用/usr/bin/jdk8u6/作为我的文件夹,显然是jdk1.8.0_06)。

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

代码语言:javascript
复制
/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

我还是会犯同样的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-29 15:04:55

您可以从这里下载ARM的更新和升级版本的JavaFX:JavaFX嵌入式SDK

一旦下载到Raspberry Pi上,您将需要提取内容并将其复制到JDK1.8中(检查此链接是否嵌入)。

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

另外,使用IDE的胶子插件,您也可以在Pi上部署远距离项目。

编辑

* ARM :请注意,ARM的JavaFX从来不支持Swing。其他功能,如WebView和媒体也不支持,但最近这些已经包括在胶子的构建。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38102348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档