Search code examples
osgibndbndtools

In bndtools, what causes a Require-Capability header for execution environment to be generated?


I have the following bnd file:

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

In the generated MANIFEST.MF:

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

I don't want this there... there's no reason I can see that it should be. So how do I avoid it?


Solution

  • bnd 2.3 automatically adds this. You can disable with -noee=true in your bnd file.

    Generally this is a good requirement to have since it expresses the base JRE requirement of your bundle. bnd determines the version based upon the class file versions in the bundle.