This is intentional and is still useful to allow launching JavaFX applications that don't have a main program. It also ensures that the JavaFX runtime is launched before the main program runs if there is a main program.

How are you launching your app that you are running into this? If the JavaFX modules are on the module path the Java launcher should find it. If the JavaFX modules are NOT on the module path, but instead on the classpath, then that is an unsupported mode. You may run into other problems in that mode, but this is the most noticeable one.

-- Kevin


On 4/9/2026 7:37 AM, Christopher Schnick wrote:
I was just playing around with the launch process for JavaFX and encountered the known issue "JavaFX runtime components are missing, and are required to run this application" when the Main class extends Application.

Then, I wanted to look where this message is printed from and how the launch process is handled to see if there are possible improvements there.

Now if I see this correctly, the non-modular JavaFX Application launching is done from the JDK itself? The code is still included in the JDK in java.base at sun.launcher.LauncherHelper.FXHelper and not decoupled from the JDK. So this can't even be changed in the jfx codebase.

Is this intentional or a leftover, i.e. would it be possible to even change this or is that some legacy thing which can't be changed?


Reply via email to