Bonjour à tous,
Je poste dans ce forum car je suspecte que le problème soit lié à l'utilisation d'Eclipse, néanmoins je n'en suis pas sûr.
Je travaille sous Eclipse et mon projet utilise Jogl. Conformément à ce que conseille le userguide.html livré avec jogl, j'ai tenté de ranger les .jar et les librairies dynamiques dans un répertoire séparé du jdk. J'ai correctement renseigné dans les "VM arguments" du dialogue "Run..." le java.library.path et le java.class.path. Et pourtant, au lancement de l'appli, j'ai droit à une UnsatisfiedLinkError qui se plaint de ne pas trouver les librairies natives de jogl (ça plante sur gluegen-rt parce que c'est la première qui se présente).
Ensuite, j'ai créé un jar à partir de mon projet et j'ai exécuté ce jar depuis une ligne de commande en lui passant les mêmes options que celles de "VM arguments". Dans ce cas, l'appli se lance sans problème. C'est pourquoi je suspecte un problème spécifique à mon utilisation d'Eclipse.
En vrac, voici les points que je peux affirmer après quelques jours d'investigations :
- le problème concerne uniquement le chargement des librairies, les .jar de Jogl sont bien trouvés.
- j'ai le même problème sous windows ou linux.
- j'ai tenté un loadLibrary("gluegen-rt") à la première ligne du main() dans mon code et ça se passe bien. C'est si la JVM tente de la charger automatiquement à l'initialisation de la première classe de Jogl que ça ne marche pas.
- j'ai vérifié à l'exécution que la property java.library.path était correcte, elle inclut bien le chemin vers les librairies de jogl.
- je n'ai pas trouvé de trace d'un tel bug dans la base de bugs d'Eclipse.
Au bout de beaucoup d'heures d'errance, je n'ai plus d'idées. J'en suis réduis à placer mes librairies dans l'arborescence du jre. Ce qui n'est pas fondamentalement un problème par contre j'ai peur que ce problème de chargement que je n'ai pas compris se manifeste sur des postes où mon appli sera déployées. Tant que le problème est limité au lancement de l'appli dans Eclipse, ça ne me gêne pas mais sans comprendre la raison du problème, je ne peux pas le jurer. Je vous remercie donc par avance de ne pas faire dévier le débat sur un troll du genre "pour ou contre le gros bazar dans jre/lib ?"
Merci pour votre aide.
Partager