How do I get Java FX running with OpenJDK 8 on Ubuntu 18.04.2 LTS?
Solution 1
The hint from
https://github.com/JabRef/help.jabref.org/issues/204
helped. The commands:
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
fixed the problem. Many thanks to https://github.com/Druidefix for this. (If you'd like to answer this yourself I'll happily delete my own answer ...)
Solution 2
What I did was build it from source. The instructions 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 stackoverflow post talked about.
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/
After that I was able to compile my project!
Wolfgang Fahl
Teacher for software architects CEO of BITPlan GmbH http://www.bitplan.com Founding Member and Initiator of iSAQB e.V. http://www.isaqb.org
Updated on July 17, 2022Comments
-
Wolfgang Fahl almost 2 years
When trying to compile an JavaFX application in the environment:
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"
I get the error-message:
cannot access javafx.event.EventHandler [ERROR] class file for javafx.event.EventHandler not found
I tried to find a solution by following these links:
- 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
The most promising actions where to
- install openjfx with apt install openjfx
- set the JAVA_HOME environment variable to /usr/lib/jvm/java-8-openjdk-amd64
But the error persists.
What needs to be done to get OpenJDK 8 and JavaFX working on Ubuntu 18.04.2 LTS?