Maison >Java >javaDidacticiel >Pourquoi mon application multimédia JavaFX génère-t-elle une erreur de module et comment puis-je la corriger ?
Erreur de module lors de l'exécution de l'application multimédia JavaFx
L'erreur rencontrée lors de l'exécution de l'application JavaFx est due au Java Platform Module System (JPMS) , qui a été introduit dans Java 9. Ce système divise le code Java en modules, chacun avec son propre ensemble de dépendances et d'autorisations.
Les spécificités L'erreur rencontrée est une "java.lang.IllegalAccessError" indiquant que la classe "com.sun.media.jfxmediaimpl.NativeMediaManager" (qui fait partie du module sans nom) ne peut pas accéder à la classe "com.sun.glass.utils.NativeLibLoader" (dans le module javafx.graphics), car le module javafx.graphics n'exporte pas le package com.sun.glass.utils vers le module sans nom module.
Pour résoudre cette erreur, assurez-vous que le module javafx.media est résolu en tant que module en utilisant l'une des méthodes suivantes :
Méthode 1 : Inclure le module dans -- Argument add-modules :
--add-modules javafx.controls,javafx.media
Méthode 2 : Rendre le code modulaire et utiliser --module argument :
Créez un descripteur module-info pour votre code (par exemple, module-info.java) :
module app { requires javafx.controls; requires javafx.media; exports com.example.app to javafx.graphics; // Replace with your application class's package }
Lancez l'application avec l'argument --module :
java --module app
Méthode 3 : utilisez un JDK qui inclut JavaFX (pas recommandé) :
Installez un JDK qui inclut JavaFX (par exemple, OpenJDK avec OpenJFX).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!