2011-08-04 1 views
1

du monde stackoverflow Bonjour,Framework Java Plugin (JPF) et SystemClassLoader

Je suis coincé sur un petit problème avec Java Framework Plugin et je ne peux pas trouver dans la documentation d'une réponse.

La question est étonnamment simple: comment rendre disponible à partir du chargeur de classe système les classes apportées par un plugin? En d'autres termes: J'ai un plugin qui apporte une classe PluginA, et je veux être capable d'instancier PluginA depuis l'application principale (pas depuis le plugin). Ceci est par défaut non autorisé car chaque plugin a son propre chargeur de classe ...

Le mieux pour moi est d'avoir un pot inclus dans l'archive plugin et de charger ce pot dans le chargeur de classe système, mais comment faire ???

Si quelqu'un a une idée, merci!

Nicolas

+0

Je n'ai jamais entendu parler de JPF mais en lisant sa page sourceforge ça sonne assez similaire à OSGi. – Kevin

Répondre

0

Problème résolu. Un plugin est composé d'une archive zip et d'un pot. Le code dédié à l'installation du plugin et son initialisation dans situé dans l'archive zip (et la classe Plugin JPF donc). Alors que le code qui constitue la fonctionnalité du plugin se trouve dans un jar séparé, et j'ajoute le jar au classpath à l'exécution en utilisant http://jimlife.wordpress.com/2007/12/19/java-adding-new-classpath-at-runtime/