2014-09-15 4 views
6

Ich habe folgende BND-Datei:Was bewirkt in bndtools, dass ein Require-Capability-Header für die Ausführungsumgebung generiert wird?

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 

Im generierten MANIFEST.MF:

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

ich das nicht dort will ... es gibt keinen Grund, den ich sehen kann, dass es sein sollte . Wie vermeide ich es?

Antwort

8

bnd 2.3 fügt das automatisch hinzu. Sie können mit -noee=true in Ihrer bnd-Datei deaktivieren.

Im Allgemeinen ist dies eine gute Anforderung, da es die Basis-JRE-Anforderung Ihres Bundles ausdrückt. bnd bestimmt die Version basierend auf den Klassendateiversionen im Bundle.

+1

Ah ja - tut mir leid, das ist ein "unbegrenzter" Versionsbereich, also bedeutet es 1,6 und später ... also ist meine Sorge, dass dies _exactly_ 1.6 erfordern würde, ungültig. D'oh. –

+6

Wenn Sie sich fragen, wie man das mit dem 'maven-bundle-plugin' macht, verwenden Sie die folgende Anweisung: <_noee> true <_noee> – viphe

+1

Großartig, das funktioniert! Du verpasst hier einen Schrägstrich. Wenn Sie also kopieren/einfügen, verwenden Sie stattdessen: <_noee> true

Verwandte Themen