J'essaye d'installer un paquet dans un environnement OSGi (FUSE ESB) mais je n'arrive pas à le résoudre. Le message d'erreur est:Le package utilise un conflit: Import-Package: de.foo.bar; version = "0.0.0"
The bundle could not be resolved. Reason: Package uses conflict: Import-Package: de.foo.bar; version="0.0.0"
Mon paquet importe le package de.foo.bar. L'ensemble qui exporte le package de.foo.bar le fait avec une directive 'uses'.
Export-Package = de.foo.bar;uses:="{other packages}";version="2.4.0"
Comme je l'ai compris que je dois faire en sorte que mon paquet doit importer tous les autres paquets mentionnés dans la directive « utilisations » du paquet de.foo.bar (dans la version à droite).
J'ai vérifié cela et j'ai également essayé plusieurs changements de version (0.0.0 et les numéros de version réels) mais je n'arrive pas à le faire fonctionner. Alors, que signifie vraiment le message d'erreur (peut-être que j'ai mal compris)? Que dois-je vérifier?
Merci pour toute aide
Klaus
Informations sur le système:
- FUSE ESB 4.2.0 (basé sur ServiceMix)
- utilisant maven-bundle-plugin 2.1.0 pour générer tête OSGi MANIFESTE
Cela fonctionne-t-il si vous supprimez simplement les attributs 'uses' et' version' de la déclaration 'Export-packages'? Pour autant que je me souvienne, ils sont facultatifs. –
Les attributs sont ajoutés par le maven-bundle-plugin (même si je spécifie le bundle par nom et non par joker) et je ne sais pas comment éviter cela. Néanmoins, je pense qu'il pourrait être utile de comprendre le message et de configurer les choses correctement. – FrVaBe