Raspberry pi上的JavaFx集成

Raspberry pi上的JavaFx集成,java,javafx,raspberry-pi,javafx-8,javafxports,Java,Javafx,Raspberry Pi,Javafx 8,Javafxports,我正在尝试在我的新覆盆子pi上运行Esemble8.jar。我遵循了本教程: 我能够安装Java8,但当我尝试运行Ensemble8.jar(或任何其他小型JavaFx应用程序)时,我遇到了以下错误: Error: Could not find or load main class ensemble.EnsembleApp 我的道路是正确的;你有解决这个问题的建议吗 谢谢 自8u33 for ARM版本发布以来,Oracle已宣布从ARM发行版中删除JavaFX 您可以在这些论坛上阅读一些关于

我正在尝试在我的新覆盆子pi上运行Esemble8.jar。我遵循了本教程:

我能够安装Java8,但当我尝试运行Ensemble8.jar(或任何其他小型JavaFx应用程序)时,我遇到了以下错误:

Error: Could not find or load main class ensemble.EnsembleApp
我的道路是正确的;你有解决这个问题的建议吗


谢谢

自8u33 for ARM版本发布以来,Oracle已宣布从ARM发行版中删除JavaFX

您可以在这些论坛上阅读一些关于此的声明:

  • 树莓皮(现在离线)
  • OpenJFX邮件
所以您将无法运行任何JavaFX应用程序。。。除非您将版本降级到支持JavaFX的最后一个JDK8u6,或者您提供了有效的
jfxrt.jar

您可以按照这一点来做,交叉构建针对ARM的OpenJFX,或者只使用JavaFXPorts项目中托管的一些已经构建的发行版

下载
armv6hf sdk.zip
后,将其解压缩,需要添加此命令行选项,以使用扩展机制将此外部源附加到类路径:

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

您使用的是哪个JDK8版本?root@raspberrypi~~ java java版本的“1.80y33”java(TM)SE运行时环境(构建1.80y33-B05)java热点(TM)客户端VM(构建25.33-B05,混合模式),可以考虑安装(复制或链接)将
rt/lib/ext
rt/lib/ext
的内容直接导入JVM,例如:
/opt/jdk1.8.0_33/jre/lib/ext
/opt/jdk1.8.0_33/jre/lib/arm
。这将消除使用
-Djava.ext.dirs=/rt/lib/ext
目录运行应用程序的需要我已尝试下载
armv6hf sdk.zip
,并将其添加到我的项目目录中。我将“javafx mx.jar
,”jfxrt.jar
jfxswt.jar
添加到我的项目库和输出目录中。但是,我的pi stil说它找不到主类。@JoëlAbrahams检查这一点,如果有人在这里遇到与JavaFX 11/12+OpenJdk 14相同的错误,那么下面的命令应该有帮助:java--模块路径“D:\Software\java\OpenJdk\Windows\11\JavaFX\JavaFX-sdk-11.0.2\lib”--添加模块JavaFX.controls,JavaFXML,javafx.graphics-jar Ensemble8.jar