JavaFX WARNING: Unsupported JavaFX Configuration: Classes Loaded from 'Unnamed Module @...'
Problem:
Upon installing and running JavaFX, users encounter a warning stating "Unsupported JavaFX configuration: classes were loaded from 'unnamed module @...'."
Background:
This warning stems from the introduction of the Java Platform Module System (JPMS) in Java 9. JavaFX modules must be loaded as "named modules" from the module-path, not the class-path.
Solution:
To resolve this:
-
Ensure JavaFX is on the Module-Path: Add JavaFX to the module-path using the --module-path option.
-
Resolve JavaFX as Named Modules: For non-modular applications, use the --add-modules option to force Java to resolve JavaFX modules as named modules.
-
Modular Applications: Use the --module option to launch your application as a module with the appropriate requires directives in the module-info descriptor.
-
Use a JDK Distribution with JavaFX: Install a JDK distribution that includes JavaFX, such as BellSoft Liberica JDK or Azul Zulu JDK, to load JavaFX as named modules automatically.
-
Ignore the Warning: As of JavaFX 21, ignoring the warning is an option, but using unsupported configurations may lead to future issues.
Deployment:
-
Require Clients to Have JRE with JavaFX: Ensure clients have a JRE with JavaFX installed.
-
Distribute a Self-Contained Application: Create a self-contained application using tools like jlink or native image to bundle the application, libraries, and JRE together.
-
Executable "Fat" JAR File: Embed JavaFX and all dependencies into an executable JAR file. However, this approach is implicitly unsupported as it loads JavaFX from the unnamed module.
The above is the detailed content of JavaFX WARNING: \'Unsupported JavaFX Configuration\' - How to Fix the Unnamed Module Error?. For more information, please follow other related articles on the PHP Chinese website!