2014-09-15 10 views
6

Ho il seguente file BND:In bndtools, che cosa causa l'intestazione Require-Capability per l'ambiente di esecuzione da generare?

Bundle-Version: 1.0.12 
Bundle-Activator: a.b.Activator 
Private-Package: a.b 
-buildpath: osgi.core;version=4.3.0,\ 
    org.apache.felix.bundlerepository;version=1.6.6,\ 
    osgi.cmpn;version=4.3.0.201111022214 
-sources: false 

Nella MANIFEST.MF generato:

Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.6))" 

Non voglio questo c'è ... non c'è alcun motivo posso vedere che dovrebbe essere . Quindi come posso evitarlo?

risposta

8

bnd 2.3 aggiunge automaticamente questo. Puoi disabilitare con -noee=true nel tuo file bnd.

Generalmente questo è un buon requisito in quanto esprime il requisito JRE di base del pacchetto. bnd determina la versione in base alle versioni del file di classe nel pacchetto.

+1

Ah sì, scusate si tratta di un intervallo di versioni "illimitato", quindi significa 1.6 e versioni successive ... quindi la mia preoccupazione che ciò richiederebbe _exactly_ 1.6 non è valida. D'oh. –

+6

Se ti stai chiedendo come farlo con 'maven-bundle-plugin', usa le seguenti istruzioni: <_noee> true <_noee> – viphe

+1

Grande questo funziona! Ti manca una barra qui. Pertanto, quando si copia/incolla, utilizzare invece: <_noee> true