Maison >Java >javaDidacticiel >Comment résoudre les conflits de modules multimédias JavaFX et IllegalAccessError ?
Erreur du module d'application multimédia JavaFX
Question :
Lors de l'exécution d'une application JavaFX 11, une erreur se produit à cause d'un module conflit :
java.lang.IllegalAccessError: class com.sun.media.jfxmediaimpl.NativeMediaManager (in unnamed module @0x4d7be377) cannot access class com.sun.glass.utils.NativeLibLoader (in module javafx.graphics) because module javafx.graphics does not export com.sun.glass.utils to unnamed module @0x4d7be377
Réponse :
L'erreur suggère que le module multimédia JavaFX n'est pas résolu correctement en tant que module, ce qui entraîne le conflit. Pour résoudre ce problème, assurez-vous que le module javafx.media est inclus dans le chemin du module.
Trois façons de résoudre le conflit de module :
1. Incluez javafx.media dans --add-modules :
/usr/lib/jvm/java-11-openjdk-amd64/bin/java \ -p ~/.m2/repository/org/openjfx/javafx-swing/11/javafx-swing-11.jar: \ ... \ -classpath ~/development/intellij/OpenPatrician/OpenPatricianStandalone/target/classes: \ ... \ --add-modules javafx.controls,javafx.media
2. Rendez votre code modulaire et ajoutez des composants javafx.media ; au descripteur de votre module.
3. Utilisez un JDK qui inclut JavaFX (par exemple, BellSoft Liberica ou Azul Zulu).
Remarques supplémentaires :
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!