Debugging OSGi resolver problems
To diagnose OSGi resolver problems it might be useful to turn on OSGi framework's debug level. Apache Felix and Eclipse Equinox have different way to enable and configure the debug options:
Felix
To turn on debugging when running with Apache Felix edit the etc/system.properties
file and uncomment the following line:
felix.log.level=4
The felix.log.level
property can be set to any value between 0 and 4. 4 means maximum log level.
Equinox
To turn on debugging when running with Eclipse Equinox edit the etc/system.properties
file and uncomment the following line:
osgi.debug=${karaf.home}/etc/equinox-debug.properties
The osgi.debug
property specifies a Equinox property file which contains a number of options for controlling the amount and type of logging generated by the Equinox framework.
Using equinox:diagnose
command
On Equinox it might also be possible to diagnose some resolver problems using the equinox:diagnose
Geronimo shell command. Example:
geronimo> equinox:diagnose 85 mvn:org.springframework/org.springframework.beans/3.0.5.RELEASE/jar [85] Unresolved direct constraints: Missing optionally imported package javax.el_[1.0.0,3.0.0) Missing optionally imported package javax.inject_[1.0.0,2.0.0) Missing imported package org.springframework.core_[3.0.5,3.0.6) ...