<Export-Package> pour toutes les ressources à l'aide de maven-bundle-plugin
Comme une mesure temporaire pour être en mesure de faire la transition rapidement à OSGi j'ai besoin de créer un seul bocal avec tous mes bibliothèques. Ce que j'ai fait a été de mettre tous les jar bibliothèques dans src/main/resources de sorte qu'ils finissent dans la racine de la création de jar. Le problème que j'ai dit le maven-bundle-plugin pour exporter TOUS les paquets dans les pots. Donc, fondamentalement, je veux exposer toutes mes bibliothèques à d'autres ensembles OSGi
C'est la première chose que j'ai essayé dans ma POM
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Export-Package>*</Export-Package>
<Bundle-Name>${project.artifactId}</Bundle-Name>
<Bundle-Version>${project.version}</Bundle-Version>
</instructions>
</configuration>
</plugin>
</plugins>
</build>`
J'ai essayé d'exporter tout y était. Mais il semble que la seule chose qui est exporté comme ce sont les deux osgi dépendances, pas les petits pots dans les ressources
J'ai plus d'une centaine de bibliothèques, alors j'essaie de trouver un moyen automatisé pour remplir la <Export-Package>
directive au lieu de l'ajout de chaque librarie du paquet à la main. En quelque sorte eclipse fait dans le plugin environnement de développement, mais j'ai besoin de le faire à l'aide de maven. Est-ce possible avec le bundle de plug-in à tous? Des points supplémentaires si les pots sont ajoutés à la <Bundle-ClassPath>
OriginalL'auteur Hilikus | 2012-07-17
Vous devez vous connecter pour publier un commentaire.
Vous devez ajouter les pots comme des dépendances dans votre pom.xml et puis utiliser la formulation suivante pour votre maven-bundle de plug-ins dans le <build> tag:
Également ajouter ce qui suit pour faire fonctionner le tout avec m2e:
Voir: maven-dépendance-plugin (objectifs de “copier-dépendances”, “décompresser”) n'est pas pris en charge par m2e
Également ajouter ce qui suit à la faire fonctionner avec Eclipse PDE (prises de Apache Felix site web):
OriginalL'auteur cstroe
Selon la la documentation pour le bundle de plug-in, vous pouvez utiliser
{local-packages}
et ce sera étendu à tous les packages du projet.CEPENDANT c'est une très mauvaise idée! Pensez-y une seconde, vous êtes en train de dire que tout dans votre bundle devrait être publiquement visible de l'API. Cela signifie que vous devez maintenir tous ces paquets, assurez-vous d'évoluer avec soin et avec les versions correctes etc. Fondamentalement, vous n'êtes pas modulaire.
L'idéal pour n'importe quel bundle OSGi devrait être de à l'exportation que quelques paquets que possible.
OriginalL'auteur Neil Bartlett
Je pense que ce n'est pas possible. Les pots doivent être individuellement dans le repo maven pour être en mesure de créer un projet de bibliothèque" en les ajoutant comme des dépendances dans le projet de bibliothèque; sinon les pots de ne pas être dans le classpath. Une bonne référence pour ce faire est cette page
fait. Merci
OriginalL'auteur Hilikus