24

I have Java 8 and Ubuntu 18.04. I'm using NetBeans and when tried to make some program, it couldn't be done because JavaFX is missing.

I installed Java JDK with NetBeans from Oracle's site and thought everything is included but obviously I didn't check it well.

What should I do, what should I install? I'm not so good at this and don't know if problem is with Ubuntu or Java. :(

maria
  • 915

5 Answers5

27

In the Ubuntu 16.04 and later default repositories JavaFX is packaged as a separate package named openjfx. To install it in Ubuntu 18.04, open the terminal and type:

sudo apt install openjdk-8-jdk openjfx

The openjfx package can also be installed from the default repositories in all currently supported versions of Ubuntu.

Check that JDK 8 is selected as the default Java version in Netbeans -> Tools -> Options -> Java -> Nashorn tab -> click the Manage Platforms button -> click the Add Platform button -> click the radio button marked Java Standard Edition -> click the Next button -> browse to /usr/lib/jvm/java-8-openjdk-amd64 and select it as the default Java version.

Optionally you can install openjdk-11-jdk instead of or alongside openjdk-8-jdk. openjfx works with both openjdk-8-jdk and openjdk-11-jdk in Netbeans in Ubuntu 18.04. I am using Netbeans 8.2 10.0 in Ubuntu 18.04.

karel
  • 122,292
  • 133
  • 301
  • 332
4

I think the easiest way is to install sdkman. Once installed, check for all the available candidates:

$ sdk list java

which will show a wide variety of options. You may select one with the FX suffix. In my case I can see something like this:

 Azul ZuluFX   |     | 11.0.2       | zulufx  |            | 11.0.2-zulufx       
               |     | 8.0.202      | zulufx  |            | 8.0.202-zulufx      
 BellSoft      |     | 12.0.2       | librca  |            | 12.0.2-librca       
               |     | 11.0.4       | librca  |            | 11.0.4-librca       

So, you can install it using this command:

$ sdk install java 11.0.2-zulufx   

Or,

$ sdk install java 8.0.202-zulufx # if you want java 8

And you are good to go! I hope this helps! :)

1

This issue can be fixed by adding the openjfx path and modules as arguments when running the javafx application, I already posted the solution on this link.
Good luck
Lotfi

0

I had the same problem. I installed openjdk, but it wasn't compatible with openjfx, since the only version available is openjfx 11.

So i searched for a while and stumbled across ZuluFX. I installed it with sdkman, which you can download from their website. After installing sdkman, just install zulufx.

$ sdk install java 8.0.202-zulufx

Your $JAVA_HOME should be the path where sdk man is installed -> /home/valentin/.sdkman/candidates/java/current

Now you can switch you JDK to that path in Netbeans and it should just work fine!

0

Liberica JDK "full" contains JavaFX. There are 8, 11 and latest versions as .tar.gz ans as .deb packages:

https://bell-sw.com/java.html

It is also available in sdkman as mentioned above (with updates).

For regular apt updates there is an official apt repository:

https://www.bell-sw.com/pages/repositories/#apt

To install version 11 containing FX use

sudo apt install bellsoft-java11-full

https://bell-sw.com/pages/repositories/#packages-versioning

Dmitry
  • 1