繁体   English   中英

如何在 Ubuntu 18.04.2 LTS 上使用 OpenJDK 8 运行 Java FX?

[英]How do I get Java FX running with OpenJDK 8 on Ubuntu 18.04.2 LTS?

尝试在环境中编译 JavaFX 应用程序时:

java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.18.04.1-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)

cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS"

我收到错误消息:

cannot access javafx.event.EventHandler
[ERROR]   class file for javafx.event.EventHandler not found

我试图通过以下链接找到解决方案:

最有希望的行动在哪里

  1. 使用 apt install openjfx 安装 openjfx
  2. 将 JAVA_HOME 环境变量设置为 /usr/lib/jvm/java-8-openjdk-amd64

但错误仍然存​​在。

需要做什么才能让 OpenJDK 8 和 JavaFX 在 Ubuntu 18.04.2 LTS 上运行?

来自的提示

https://github.com/JabRef/help.jabref.org/issues/204

有帮助。 命令:

apt purge openjfx
apt install openjfx=8u161-b12-1ubuntu2 libopenjfx-jni=8u161-b12-1ubuntu2 libopenjfx-java=8u161-b12-1ubuntu2
apt-mark hold openjfx libopenjfx-jni libopenjfx-java

解决了这个问题。 非常感谢https://github.com/Druidefix (如果你想自己回答这个问题,我很乐意删除我自己的回答......)

我所做的是从源代码构建它。 OpenJDK wiki 上的说明对我有用 一旦我构建了它,我必须将罐子放在正确的位置,就像另一个 stackoverflow 帖子中谈到的那样。

cd build/sdk/
sudo cp -R rt/lib /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/
sudo cp ./lib/ant-javafx.jar /usr/lib/jvm/java-8-openjdk-amd64/lib/
sudo cp ./lib/javafx-mx.jar /usr/lib/jvm/java-8-openjdk-amd64/lib/

之后我就可以编译我的项目了!

使用 Oracle JDK(即使只是作为临时解决方法)

对于任何寻求 javafx 基本实践的学习者来说,安装 Oracle 的 Java 8(内置 javafx)可能是更好的解决方案,而不是搞乱打开的包。 这里有很好的说明

您可以继续努力安装 openjfx,但这将使您继续学习。

这已经由 aran 在对 OP 的评论中提出,请考虑对该评论进行投票。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM