Co oznacza „pakiet” np. W tej zależności:
<dependency>
<groupId>org.apache.abdera</groupId>
<artifactId>abdera-core</artifactId>
<version>1.1.2</version>
<type>bundle</type>
<scope>compile</scope>
</dependency>
Odpowiedzi:
Ten rodzaj artefaktu to pakiet OSGi, zwykle tworzony przy użyciu wtyczki maven-bundle-plugin, która jest częścią Apache Felix .
Wtyczka traktuje wszystkie klasy dostępne dla twojego modułu (własne klasy modułu, klasy dostarczone przez zależności, inne klasy w ścieżce klas) jako jeden ogromny zestaw, a następnie pozwala wybrać podzbiór tych klas do spakowania w słoik. Tworzy również niezbędne informacje manifestu, aby artefakt stał się pakietem OSGi.
Zatem artefakt, który pobierasz, używając tej zależności, to jar, jednak jest to jar zbudowany przez wybranie podzbioru z dużo większego zestawu klas, a nie tylko klas, które zostały zdefiniowane w module abdera-core.
Jeśli spojrzysz na pom dla projektu abdera , zobaczysz maven-bundle-plugin
konfigurację, która da ci wyobrażenie o tym, które klasy zostały dodane do pakietu, a które zostały wstrzymane.