Bonjour,
J'ai migré mon environnement vers Java 11 (openJdK) avec les modules JavaFX. J'ai récupéré un programme antérieur pour le faire fonctionner sous la nouvelle version. L'appli fait appel à la bibliothèque Medusa pour afficher des cadrans dans un tableau de bord. Sous Netbeans 10+JFX11, l'appli tourne sans erreur... J'ai donc poussé un peu plus loin avec jdeps et jlink pour créer une JRE "light" pour lancer l'application. La JRE a été créée sans soucis mais, lorsque je lance mon appli en ligne de commande, cette fois j'obtiens des erreurs dont :
Exception in thread "JavaFX Application Thread" java.lang.NoClassDefFoundError: eu/hansolo/medusa/GaugeBuilder
Les exceptions ne sont levées que lorsque l'application initialise l'écran principal et surtout le tableau de bord càd après un petit processus permettant de choisir les périphériques de sorties (un écran pour la présentation et un écran pour le tableau de bord). Les exceptions levées sont les mêmes que j'utilise la JRE créée via JLink ou celle par défaut du JDK.
Bref, je ne comprends pas le décalage entre l'exécution sous l'environnement de dev et celui en lignes de commande.
La bibli Médusa n'a manifestement pas été portée sous Java9, 10 ou 11 et je pensais à un problème de module-info mais, là encore, pourquoi, l'IDE arrive à l'intégrer correctement lors de l'exécution?
Merci par avance pour vos pistes...
Chak
PS: l'appli tourne correctement sauf pour l'aspect "cadrans"
Partager