On Tue, 5 May 2026 16:59:46 GMT, Christopher Schnick <[email protected]> wrote:
>> This PR allows Main classes to be launched if they extend the Application >> class, even when only having the JavaFX dependencies on the classpath >> instead of the module path. This issue has been there for a long time and >> was quite annoying for a lot of people: >> https://stackoverflow.com/questions/78501081/how-do-i-fix-error-javafx-runtime-components-are-missing-and-are-required-to-r. >> It is also a common use case for JavaFX developers when testing some PR to >> create a quick reproducer class without setting up the module path properly. >> >> While it is true that launching modern JavaFX via the classpath is >> unuspported, it still launches and prints its own warnings, which is better >> than the previous behavior. The old launcher error message in this case is >> misleading as the runtime components aren't really missing, they are just >> not in the module path. >> >> This change should not have any change in behavior for any other case. >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Christopher Schnick has updated the pull request incrementally with one > additional commit since the last revision: > > Revert comment This looks good. I used a JDK built with this patch to do a full build/test of JavaFX and there are no regressions. I will note that running JavaFX on the classpath is still unsupported, and this PR doesn't change that. JavaFX might deprecate for removal the ability to run on the classpath at some point, but this java launcher fix is still worth doing, since it avoids a confusing error message and lets JavaFX decide how to handle running its modules on the classpath. ------------- Marked as reviewed by kcr (Author). PR Review: https://git.openjdk.org/jdk/pull/31016#pullrequestreview-4282293480
