Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Won't Fix
-
1.4.0
-
None
-
None
-
Unknown
Description
The multi-bundle distribution contains 2 felix configuration files:
- conf/felix.config.properties.append
- conf/felix.discovery.config.properties.append
Both these files specify the org.osgi.framework.system.packages framework property:
org.osgi.framework.system.packages=org.osgi.framework; version=1.5.0, \ org.osgi.framework.launch; version=1.0.0, \ org.osgi.framework.hooks.service; version=1.0.0, \ org.osgi.service.packageadmin; version=1.2.0, \ org.osgi.service.startlevel; version=1.1.0, \ org.osgi.service.url; version=1.0.0, \ org.osgi.util.tracker; version=1.4.0, \ org.apache.karaf.jaas.boot; version=2.2.9, \ org.apache.karaf.version; version=2.2.9, \ javax.crypto, \ javax.crypto.spec, \
and so on...
This property should really be left specified by the framework itself as its value will depend on the version of the OSGi framework and the Java runtime used. The values specified are very likely incorrect in a number of cases (for example if you use the latest version of Felix, the org.osgi.* values are incomplete and the versions incorrect).
It looks like the main thing here is to add the org.apache.karaf packages to the framework packages. This should really be done via the org.osgi.framework.system.packages.extra property, without specifying any of the packages provided by the framework or the JRE. E.g.
org.osgi.framework.system.packages.extra=\ org.apache.karaf.jaas.boot; version=2.2.9, \ org.apache.karaf.version; version=2.2.9
I briefly tried this but it seems there is an issue with resolving the javax.xml.stream package, and I noticed that in the current configuration it was actually removed from the list.
So in order to fix this situation some work will need to be done make sure that the default value of the org.osgi.framework.system.packages property will work.