Quelle est la signification du type “bundle” dans une dépendance de maven?

Quelle est la signification de “bundle” par exemple dans cette dépendance:

 org.apache.abdera abdera-core 1.1.2 bundle comstack  

Ce type d’artefact est un bundle OSGi, généralement produit à l’aide du plugin maven-bundle qui fait partie d’ Apache Felix .

Le plugin traite toutes les classes disponibles pour votre module (les propres classes du module, les classes fournies par les dépendances, les autres classes du classpath) en un seul ensemble géant, puis vous permet de sélectionner un sous-ensemble de ces classes à regrouper dans un jar. Il crée également les informations de manifeste nécessaires pour que l’artefact devienne un bundle OSGi.

Ainsi, l’artefact que vous utilisez en utilisant cette dépendance est un fichier JAR, mais c’est un fichier jar qui a été créé en choisissant un sous-ensemble dans un ensemble de classes beaucoup plus important, et pas seulement dans le module abdera-core.

Si vous regardez le pom du projet abdera, vous verrez la configuration de maven-bundle-plugin qui vous donnera une idée des classes qui ont été ajoutées au bundle et qui ont été retenues.