Ubuntu – java.lang.NoClassDefFoundError: javafx/application/Application


I installed OpenJDK-11 as described here.
I ran sudo apt install openjfx

My java version:

$ java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-Ubuntu-1ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.3+7-Ubuntu-1ubuntu1, mixed mode, sharing)

But still I get ava.lang.NoClassDefFoundError: javafx/application/Application which indicates that the jre cannot find the FX classes.

Best Answer

  • You are getting this error because your runtime PATH to javafx is probably incorrect or missing.

    Please, follow these steps:

    Check the path of JavaFX. (example: /usr/share/openjfx/lib/)

    Then run command:

    java --module-path $FX-PATH --add-modules javafx.controls -jar sample.jar

    where $FX-PATH should be set or replaced with mentioned JavaFX path.

    If you need to add more modules, you can specify them in --add-modules parameter.
    (--add-modules javafx.controls,javafx.fxml)

  • Related Question