Maison > Java > javaDidacticiel > Comment réparer les erreurs du module d'application multimédia JavaFX dans Java 9 ?

Comment réparer les erreurs du module d'application multimédia JavaFX dans Java 9 ?

Linda Hamilton
Libérer: 2024-12-12 14:00:16
original
842 Les gens l'ont consulté

How to Fix JavaFX Media Application Module Errors in Java 9 ?

Erreur de module lors de l'exécution de l'application multimédia JavaFx

Lors de la tentative d'exécution d'une application JavaFX 11, le message d'erreur suivant apparaît :

Exception in thread "JavaFX Application Thread" 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
Copier après la connexion

Cette erreur provient d'un changement dans le système de modules Java introduit dans Java 9. JavaFX, qui faisait auparavant partie de Java environnement d'exécution, est désormais distribué sous forme d'un ensemble de modules.

Pour résoudre ce problème, assurez-vous que le module javafx.media est correctement résolu. Ceci peut être réalisé en :

  • Ajout de javafx.media à --add-modules : Spécifiez --add-modules javafx.controls,javafx.graphics,javafx.media lorsque lancement de l'application.
  • Rendre votre code modulaire : Créer un module descripteur (module-info.java) et spécifiez nécessite javafx.controls ; et nécessite javafx.media;.
  • Utilisation d'un JDK incluant JavaFX : Certaines distributions JDK, telles que BellSoft Liberica ou Azul Zulu, incluent des modules OpenJFX.

Si vous choisissez d'utiliser la troisième approche, notez que la classe principale ne doit pas étendre Application et qu'une classe de lancement distincte doit être créée pour initialiser JavaFX.

De plus, il est important de s'assurer que les dépendances JavaFX ne sont pas placées sur le chemin de classe, car cela peut entraîner des problèmes de résolution de module. Au lieu de cela, incluez-les dans le chemin du module ou utilisez une approche modularisée.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal