【问题标题】:Run JavaFx on Raspberry ClassNotFound在 Raspberry ClassNotFound 上运行 JavaFx
【发布时间】:2018-09-26 22:19:12
【问题描述】:

我尝试在树莓派上启动一个 jar。 jar 是一个 gui 应用程序,它启动一个 JavaFx 阶段。

我会像这里一样执行所有步骤: https://wimdeblauwe.wordpress.com/2017/08/26/using-javafx-on-raspberry-pi-3-with-gluon/ 但使用版本 1.8.0_161。

现在我启动 jar:

须藤/opt/jdk1.8.0_161/bin/java \ -Djava.ext.dirs=build/armv6hf-sdk/rt/lib/ext\ -jar Freelancer.jar

并收到异常:

Exception in thread "main" java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)
Caused by: java.lang.ClassNotFoundException: javafx.embed.swing.JFXPanel
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

有人知道这里发生了什么吗?

感谢您的帮助!

【问题讨论】:

  • 你能在你的 python 上显示 JAVA_HOME 变量的设置吗
  • 哪个java:/usr/bin/java
  • 如您所见here JavaFX for ARM 不支持 Swing。
  • 哦..所以没有办法在树莓派上运行这个应用程序?

标签: java javafx raspberry-pi3 noclassdeffounderror


【解决方案1】:

迟到的答案(我今天遇到了一些问题),但可能对其他人来说很有趣:

就我而言,我已经安装了 open JRE 和 open JFX(JavaFX 的免费版本):

apt-get install openjdk-8-jre-headless
apt-get install openjdk-8-jre
apt-get install openjfx

之后我有同样的错误Exception in thread "main" java.lang.NoClassDefFoundError: ...

缺少的是:将 openjfx jar (jfxrt.jar) 添加到类路径中(在我的情况下,它位于 /usr/share/java/openjfx/jre/lib/ext/):

java -cp my.jar:...:/usr/share/java/openjfx/jre/lib/ext/jfxrt.jar com.be.HappyClass

在那之后我很开心;-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-19
    • 2018-12-09
    • 2017-05-29
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    相关资源
    最近更新 更多