Bir maven bağımlılığında "paket" türünün anlamı nedir?


91

Örneğin bu bağımlılıkta "paket" in anlamı nedir:

<dependency>
    <groupId>org.apache.abdera</groupId>
    <artifactId>abdera-core</artifactId>
    <version>1.1.2</version>
    <type>bundle</type>
    <scope>compile</scope>
</dependency>

Yanıtlar:


83

Bu tür bir artefakt, tipik olarak Apache Felix'in bir parçası olan maven-bundle-eklentisi kullanılarak üretilen bir OSGi paketidir .

Eklenti, modülünüz için mevcut olan tüm sınıfları (modülün kendi sınıfları, bağımlılıklar tarafından sağlanan sınıflar, sınıf yolundaki diğer sınıflar) dev bir küme olarak ele alır ve ardından bu sınıfların bir alt kümesini bir kavanozda paketlemek için seçmenize izin verir. Ayrıca yapıyı bir OSGi paketi yapmak için gerekli bildirim bilgilerini oluşturur.

Dolayısıyla, bu bağımlılığı kullanarak çektiğiniz eser bir kavanozdur, ancak bu, sadece abdera-core modülünde tanımlanan sınıflardan değil, çok daha büyük bir sınıf kümesinden bir alt küme seçerek oluşturulmuş bir kavanozdur.

Abdera projesi için pom'a bakarsanız, maven-bundle-pluginhangi sınıfların pakete eklendiği ve hangilerinin geri çekildiği hakkında size bir fikir verecek yapılandırmayı göreceksiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.