Maison >Java >javaDidacticiel >Comment résoudre les conflits de modules multimédias JavaFX et IllegalAccessError ?

Comment résoudre les conflits de modules multimédias JavaFX et IllegalAccessError ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-20 16:29:11732parcourir

How to Resolve JavaFX Media Module Conflicts and 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 :

  • Assurez-vous que les modules JavaFX ne sont pas également inclus dans le chemin de classe.
  • Si vous utilisez Maven, incluez le module javafx.media comme dépendance dans votre pom.xml.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn