Maison  >  Article  >  Java  >  Pourquoi est-ce que je reçois un avertissement « Configuration JavaFX non prise en charge » malgré le succès de la compilation ?

Pourquoi est-ce que je reçois un avertissement « Configuration JavaFX non prise en charge » malgré le succès de la compilation ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-31 18:34:29236parcourir

 Why Am I Getting an

Avertissement JavaFX : configuration non prise en charge

Lorsque vous travaillez avec JavaFX, vous pouvez rencontrer un avertissement indiquant "Configuration JavaFX non prise en charge : les classes ont été chargées à partir de 'module sans nom @...'" malgré le succès de la compilation. Cet avertissement survient en raison du système de modules introduit dans Java 9 et affecte la façon dont JavaFX est chargé.

Comprendre le problème

JavaFX prend uniquement en charge le chargement à partir de modules nommés via le chemin du module, pas le chemin de classe. Cependant, si le système détecte que JavaFX a été chargé à partir du chemin de classe, il déclenche cet avertissement.

Solution

Pour résoudre ce problème, vous devez vous assurer que JavaFX est chargé à partir du chemin du module en tant que modules nommés. Cela peut être fait de plusieurs manières :

  1. Application non modulaire : Utilisez les arguments --module-path et --add-modules :

    java --module-path <path-to-fx> --add-modules javafx.controls ...
  2. Application modulaire : Utilisez l'argument --module pour lancer votre application en tant que module :

    java --module-path <path> --module app/com.example.app.Main [args...]
  3. Utilisez une distribution JDK avec JavaFX : Utilisez les versions Java qui incluent JavaFX par défaut, telles que BellSoft Liberica JDK ou Azul Zulu JDK.
  4. Ignorez l'avertissement : Vous pouvez choisir d'ignorer le avertissement car cela ne provoque actuellement aucun problème fonctionnel. Notez que cette approche n'est pas recommandée.

Déploiement

Pour le déploiement, vous pouvez envisager les options suivantes :

  • Exiger un JRE JavaFX installé : Assurez-vous que les clients disposent d'un JRE compatible avec JavaFX installé.
  • Application autonome : Packagez votre application avec toutes les dépendances nécessaires et un JRE fourni.
  • JAR exécutable : Intégrez JavaFX et d'autres dépendances dans un fichier JAR exécutable.

Notes supplémentaires

  • Par défaut, JavaFX nécessite que la classe principale soit un sous-type de javafx.application.Application.
  • Si JavaFX est chargé à partir du module sans nom, la classe principale ne peut pas être un sous-type de javafx.application.Application.

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