2010-10-11 18 views
6

:OSGI grup sınıf yolunu yazdırma ile sınıf yolunda içeriğini yazdırmak için olası normal bir java uygulamasında

String ss = System.getProperty("java.class.path"); 
System.out.println(ss); 

Ama nasıl bir OSGI demetinin sınıf yolu Tutulma PDE sihirbazı kullanılarak oluşturulan yazdırırım? Aktivatörde şu anki paketi almak mümkün:

public void start (BundleContext içeriği) özel durumu atar { super.start (context); eklentisi = bu;

Bundle b = context.getBundle(); 
// java doc: This bundle's class loader is not used to search for entries. 
b.findEntries(path, filePattern, recurse) 

Ama javadoc findEntries sınıf yükleyici KULLANMAYIN söylüyor. Mevcut paketin sınıf yolunda ne olduğunu görmek/yazdırmak için herhangi bir basit yol var mı?

+1

İlk soru: Bunu neden yapmak istiyorsun? Bir paket için bir sınıf yolunun, sadece erişilebilir bir sınıf kümesinin gerçek bir fikri yoktur. –

+0

Daha açıkçası: orada Bundle-sınıf (OSGi çekirdek 3.2.1.4) olarak bilinen bir paket başlığı, ancak sizin "java.class.path" örneği göz önüne alındığında, bu ne demek istediğini muhtemelen değil. –

cevap

2

Diğerleri gibi, "paket sınıf yolu" diye bir şey olmadığını belirtmişlerdir - bu OSGi'nin bütün noktasıdır. senin Paketin başlıklarda

  • göz ithal ettiği hangi paketlerinin görmek ve onlar gerekli olsun ya da zorunlu

  • kullanım PackageAdmin ihracat paketlerini bulmak için: :)

    Ne yapabilirsiniz olduğunu belirli bir isimle paketleri

Ancak AFAIK PackageAdmin kaldırıldı ve 4'te demet kablo ile çalışmak için yeni bir genişletilmiş/mekanizması olacak 0,3. Bu & yük kaynakları bulmak için sınıf yolu tarıyor için

Bu sizin gerçek motivasyon gibi görünüyor. Bunun kolayca mümkün olmadığı gerçeği, modül sınırlarını zorlamanın bir yan etkisidir: bir çitiniz olamaz ve aynı zamanda kimsenin çimlerde yürümesine izin veremezsiniz. Orada bir müşteri adına demetleri tarayan bir standart hizmet için bir plandı, ama bu geri alınmış gibi görünüyor (emin değilim neden - belki yeni 4.3 şeyler sonucu olarak).

+0

PackageAdmin'in kullanımdan kaldırılması, en son yayımlanan özelliklerde (R4.2) kesinlikle kullanımdan kaldırılmadığı için, onu zorlamaktır. –

İlgili konular