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). ------------- Commit messages: - Rework fx launcher for classpath Changes: https://git.openjdk.org/jdk/pull/31016/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=31016&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8248122 Stats: 8 lines in 1 file changed: 1 ins; 1 del; 6 mod Patch: https://git.openjdk.org/jdk/pull/31016.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/31016/head:pull/31016 PR: https://git.openjdk.org/jdk/pull/31016
