Problème de classloader avec lutin i18n
Bonjour, Nous utilisons la plateforme Netbeans pour construire notre IDE, et cette plateforme utilise des classloader spécifiques pour charger les modules un peu comme le fait Osgi. Le problème est que j'instancie votre GUI depuis notre IDE et voilà ce qui se passe : 1. J'initialise votre environnement via SimExplorer.init() 2. Votre système de i18n se charge avec I18nBundleManager.init() 3. Celui-ci tente de récupérer le ClassLoader avec Language.getLoader(). Mais dans NetBeans le ClassLoader du module est de type org.netbeans.StandardModule$OneModuleClassLoader qui n'hérite pas de URLClassLoader, null est donc renvoyé 4. Puisque le URLClassLoader n'a pas été trouvé, le SystemClassLoader est utilisé. Mais dans ce cas aucune des dépendances du module netbeans n'est trouvé, et donc aucune traduction n'est trouvée. Avez-vous une solution à proposer pour résoudre ce problème ? -- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29
J'ai réussi à ruser en ajoutant un jar contenant les fichiers i18n au classpath de démarrage. À moins que vous ayez quelque chose de plus propre ? Cordialement -- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29
Nicolas Dumoulin a écrit :
J'ai réussi à ruser en ajoutant un jar contenant les fichiers i18n au classpath de démarrage.
À moins que vous ayez quelque chose de plus propre ?
Cordialement
Bonjour, Je trouve cette solution assez intelligente finalement, d'autant plus qu'ajouter le support d'autres type de classloader dans lutinutil aurait été plus long et compliqué. Cordialement, Stéphane CHORLET
On Thu, 27 Nov 2008 10:30:35 +0100 Nicolas Dumoulin <nicolas.dumoulin at cemagref.fr> wrote:
Bonjour,
Nous utilisons la plateforme Netbeans pour construire notre IDE, et cette plateforme utilise des classloader spécifiques pour charger les modules un peu comme le fait Osgi.
Le problème est que j'instancie votre GUI depuis notre IDE et voilà ce qui se passe : 1. J'initialise votre environnement via SimExplorer.init() 2. Votre système de i18n se charge avec I18nBundleManager.init() 3. Celui-ci tente de récupérer le ClassLoader avec Language.getLoader(). Mais dans NetBeans le ClassLoader du module est de type org.netbeans.StandardModule$OneModuleClassLoader qui n'hérite pas de URLClassLoader, null est donc renvoyé 4. Puisque le URLClassLoader n'a pas été trouvé, le SystemClassLoader est utilisé. Mais dans ce cas aucune des dépendances du module netbeans n'est trouvé, et donc aucune traduction n'est trouvée.
Avez-vous une solution à proposer pour résoudre ce problème ?
Bonjour, je suis assez interessé par l'intégration de nos libs dans un tel bundle netBean, pouvez vous me mettre à disposition (si vous en avez un ?) un mini projet de test que vous utilisez sur NetBean? Merci. Cordialement, Tony
participants (3)
-
chemit@codelutin.com -
chorlet@codelutin.com -
nicolas.dumoulin@cemagref.fr