J'ai un JAR tiers que j'ai converti en un bundle OSGI en utilisant bnd. Le code que je dois appeler l'utiliser à partir de mon propre paquet ressemble à ceci:OSGI - appels de méthodes statiques à travers des bundles
ThirdParty.setRegKey(myRegKey);
ThirdParty thirdParty = new ThirdParty();
thirdParty.callMethod();
Ce qui semble me causer des problèmes est la première ligne - l'appel de méthode statique. En dehors du conteneur OSGI, en utilisant le fichier JAR standard, cela fonctionne correctement. À l'intérieur d'OSGI, cependant, j'obtiens une erreur à la ligne 3 indiquant qu'aucune clé d'enregistrement n'a été définie.
Y a-t-il des problèmes avec les appels de méthodes statiques à travers des ensembles comme celui-ci? C'est presque comme si le contexte statique n'était pas partagé entre les bundles.
Merci pour la clarification. Dans le manifeste du bundle 3rd party, j'ai Export-Package: com.thirdparty.package puis dans le manifeste de mon bundle, Import-Package: com.thirdparty.package. C'est ce que tu veux dire? – William
L'exemple de code suggère que les importations et exportations MANIFEST sont correctes ou qu'il ne pourrait pas compiler, et le problème indiqué est un échec d'exécution sur la troisième ligne. – SteveD
@William Oui. Cependant, si votre code est dans un paquet, cela ne devrait pas être le problème. – starblue