如何在 Ubuntu 18.04.2 LTS 上获得 Java FX 运行 OpenJDK 8?
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
我试图通过以下链接找到解决方案:
- how to add javafx dependencies in maven with java 10
- https://mvnrepository.com/artifact/org.openjfx/javafx/11
- Maven project with JavaFX (with jar file in `lib`)
- https://github.com/javafx-maven-plugin/javafx-maven-plugin
- https://askubuntu.com/questions/1091157/javafx-missing-ubuntu-18-04
- https://unix.stackexchange.com/questions/505628/add-openjfx-class-path-in-debian-for-java11
- https://askubuntu.com/questions/609951/javafx-is-not-on-the-default-classpath-even-with-oracle-jdk-1-8
- Why is JavaFX is not included in OpenJDK 8 on Ubuntu Wily (15.10)?
- http://can4eve.bitplan.com/index.php/JavaFX
最有前途的行动去哪里
- 使用 apt install openjfx 安装 openjfx
- 将 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。 (如果你想自己回答这个问题,我会很乐意删除我自己的回答......)
我所做的是从源代码构建它。 here on the OpenJDK wiki worked for me. Once I built it, I had to put the jars in the right place, like this other Whosebug post讲到的说明。
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)可能是比乱用开放包更好的解决方案。有很棒的instructions here
您可以继续努力安装 openjfx,但这会让您继续学习。
aran 在对 OP 的评论中已经提出了这个建议,请考虑对该评论投赞成票。
尝试在环境中编译 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
我试图通过以下链接找到解决方案:
- how to add javafx dependencies in maven with java 10
- https://mvnrepository.com/artifact/org.openjfx/javafx/11
- Maven project with JavaFX (with jar file in `lib`)
- https://github.com/javafx-maven-plugin/javafx-maven-plugin
- https://askubuntu.com/questions/1091157/javafx-missing-ubuntu-18-04
- https://unix.stackexchange.com/questions/505628/add-openjfx-class-path-in-debian-for-java11
- https://askubuntu.com/questions/609951/javafx-is-not-on-the-default-classpath-even-with-oracle-jdk-1-8
- Why is JavaFX is not included in OpenJDK 8 on Ubuntu Wily (15.10)?
- http://can4eve.bitplan.com/index.php/JavaFX
最有前途的行动去哪里
- 使用 apt install openjfx 安装 openjfx
- 将 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。 (如果你想自己回答这个问题,我会很乐意删除我自己的回答......)
我所做的是从源代码构建它。 here on the OpenJDK wiki worked for me. Once I built it, I had to put the jars in the right place, like this other Whosebug post讲到的说明。
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)可能是比乱用开放包更好的解决方案。有很棒的instructions here
您可以继续努力安装 openjfx,但这会让您继续学习。
aran 在对 OP 的评论中已经提出了这个建议,请考虑对该评论投赞成票。