Maison >Java >javaDidacticiel >Pourquoi mon application multimédia JavaFX génère-t-elle une erreur de module et comment puis-je la corriger ?

Pourquoi mon application multimédia JavaFX génère-t-elle une erreur de module et comment puis-je la corriger ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-16 07:19:24531parcourir

Why Does My JavaFX Media Application Throw a Module Error, and How Can I Fix It?

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!

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