If you ever tried to enable logging for OSGi (Equinox) because starting the BIRT engine fails for mysterious reasons, you will have noticed that BIRT removes all
osgi.* options from the
System.properties before it launches (see ).
Instead, it expects these options in
config.ini (which must be in the current folder):
# Specify the file with the debug options. See the .options file in the org.eclipse.osgi*.jar for examples osgi.debug=/path/to/file/with/debug.options # Change the classloader. Possible values are: "app", "fwk", "boot" (default) # app: Use the current SystemClassLoader # boot: Use the boot classloader # fwk: Use the classloader which was used to load OSGi. #osgi.parentClassloader=fwk
fwk if you see errors because of missing XML parser classes. The Java runtime has a private static field which contains the XML parser factory and if you touch any XML code before you start OSGi, then that field will be set and OSGi will be forced to use this XML parser — only the default boot classloader can’t see the parser. Bummer.