Maison > Java > javaDidacticiel > Comment résoudre les erreurs du module multimédia JavaFX lors de l'exécution d'une application JavaFX 11 ?

Comment résoudre les erreurs du module multimédia JavaFX lors de l'exécution d'une application JavaFX 11 ?

DDD
Libérer: 2024-12-20 17:49:12
original
580 Les gens l'ont consulté

How to Resolve JavaFX Media Module Errors When Running a JavaFX 11 Application?

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

Problème :

Lors de l'exécution d'une application JavaFX 11 avec la commande fournie dans la question, une erreur est rencontrée liée à un accès illégal entre les classes dans javafx.media et javafx.graphics modules.

Solution :

Pour résoudre l'erreur et exécuter l'application avec succès, assurez-vous que le module javafx.media est résolu en tant que module nommé lors du lancement de l'application. Cela peut être accompli par l'une des méthodes suivantes :

1. Incluez le module dans l'argument --add-modules :

Modifiez la commande pour inclure javafx.media comme module supplémentaire dans l'argument --add-modules :

/usr/lib/jvm/java-11-openjdk-amd64/bin/java 
-p ~/.m2/repository/org/openjfx/javafx-swing/11/javafx-swing-11.jar:
~/.m2/repository/org/openjfx/javafx-swing/11/javafx-swing-11-linux.jar:
~/.m2/repository/org/openjfx/javafx-graphics/11/javafx-graphics-11.jar:
~/.m2/repository/org/openjfx/javafx-graphics/11/javafx-graphics-11-linux.jar:
~/.m2/repository/org/openjfx/javafx-base/11/javafx-base-11.jar:
~/.m2/repository/org/openjfx/javafx-base/11/javafx-base-11-linux.jar:
~/.m2/repository/org/openjfx/javafx-controls/11/javafx-controls-11.jar:
~/.m2/repository/org/openjfx/javafx-controls/11/javafx-controls-11-linux.jar:
~/.m2/repository/org/openjfx/javafx-media/11/javafx-media-11.jar:
~/.m2/repository/org/openjfx/javafx-media/11/javafx-media-11-linux.jar 
--add-modules javafx.controls,**javafx.media**
-classpath ...
Copier après la connexion

2. Créez votre propre code modulaire :

Créez un fichier module-info.java dans le répertoire de votre projet avec le contenu suivant :

module my.application {
    requires javafx.controls;
    requires javafx.media;

    // Replace with your Application class' package
    exports com.example.myapp to javafx.graphics;
}
Copier après la connexion

Ensuite, lancez votre application avec l'argument --module pour spécifier votre module personnalisé :

/usr/lib/jvm/java-11-openjdk-amd64/bin/java 
--module my.application
--add-modules javafx.base,javafx.graphics,javafx.controls
-classpath ...
Copier après la connexion

3. Utilisez un JDK incluant JavaFX :

Téléchargez un JDK incluant JavaFX, tel que BellSoft Liberica ou Azul Zulu, et utilisez-le pour exécuter votre application.

Remarques supplémentaires :

  • Il est recommandé d'éviter de placer à la fois les fichiers JAR JavaFX et les modules JavaFX sur le chemin de classe simultanément. Cela peut conduire à l'erreur décrite dans la question.
  • Si vous rencontrez des erreurs de compilation liées à des symboles manquants après le passage au code modulaire, assurez-vous que le dernier kit de développement Java (JDK) est installé.
  • Référez-vous à la documentation JavaFX pour plus d'informations sur la modularité et le système de modules Java Platform : https://openjfx.io/javadoc/11/javadoc/index.html

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 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal