The system bundle exports in Felix are defined by the defaults.properties file found inside the JAR, so it’s not necessary to use the Export-Package header from the manifest. Actually Equinox works in almost exactly the same way; it uses a bunch of J2SE-*.profile files.
You can always write your own launcher that overrides the default behaviour. For example the bnd launcher does look for and use the Export-Package headers from all JARs that are added to the system classpath using -runpath. Neil On 1 September 2014 at 15:29:33, Balázs Zsoldos ([email protected]) wrote: Hi, this question might have been raised before. If you could drop a link to the thread, that would be cool. In case Equinox is started with an empty *org.osgi.framework.system.packages* value, the packages of OSGi core are available in the container. This is good in my opinion as the bundle of Equinox exports these packages. If I do the same with Felix, the packages that are specified in the Export-Package MANIFEST header of felix JAR, are not available. Why is that? These packages are exported by a bundle, the system bundle. I normally override the system.packages to use only those packages from the JDK that are necessary. I use everything I can from bundles, even the JDBC API. It is very annoying that I have to list all OSGi core packages in the system.packages with versions. What if I upgrade felix? I have to check the package of every version again. I cannot make a felix version independent configuration. Thanks and regards, *Balázs **Zsoldos*

