我无法运行 Gluon JavaFx样本。我执行了所描述的所有步骤,但采用了较新的 Liberica JDK 11.0.2 。而不是预览并将 JAVA_HOME
变量指向相应的目录。
使用以下方式执行演示应用程序:
$JAVA_HOME/bin/java \
--module-path=/opt/armv6hf-sdk/lib \
--add-modules=javafx.controls \
-cp target/classes/ \
-Dprism.verbose=true \
-Dembedded=monocle \
-Dglass.platform=Monocle sample.Main
给我以下输出和错误:
Prism pipeline init order: es2 sw
Using Double Precision Marlin Rasterizer
Using dirty region optimizations
Using system sized mask for primitives
Not forcing power of 2 sizes for textures
Using hardware CLAMP_TO_ZERO mode
Opting in for HiDPI pixel scaling
Prism pipeline name = com.sun.prism.es2.ES2Pipeline
Loading ES2 native library ... prism_es2_monocle
succeeded.
GLFactory using com.sun.prism.es2.MonocleGLFactory
Dispman: Cannot open display
* failed to add service - already in use?
有什么想法,可能有什么问题吗?我在 stackoverflow 上发现了各种提示,例如另外安装以下软件包:
sudo apt install raspberrypi-ui-mods xorg libgtk2.0-0
或使用以下方式进行固件更新:
sudo rpi-update 192
甚至修改/etc/udev/rules.d/99-com.rules
并添加:
SUBSYSTEM=="input*", PROGRAM="/bin/sh -c '\
chown -R root:input /sys/class/input/*/ && chmod -R 770 /sys/class/input/*/;\
'"
确实引起了任何变化。
有人知道我缺少什么或者可以做些什么来让它运行吗?
最佳答案
使用最新的raspbian-stretch镜像并安装实际的Liberica JDK在 /opt
文件夹。
要在 X11 环境中启动 JavaFx 应用程序,请使用以下标志:
$JAVA_HOME/bin/java -Djavafx.platform=gtk -cp <actual-classpath> <main-class-name>
要通过 SSH 或从命令行启动 JavaFx 应用程序,请使用:
$JAVA_HOME/bin/java -cp <actual-classpath> <main-class-name>
您可以选择添加这些标志来获取更详细的信息:
-Dprism.verbose=true -Djavafx.verbose=true
关于java - 无法在 Raspberry Pi Model 3 和 Java 11 上运行简单的 HelloWorld JavaFx 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54378702/