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

Reply via email to