RCP, slf4j and equinox.ds? [message #549861] |
Wed, 28 July 2010 09:15 |
Kristian Rink Messages: 36 Registered: July 2009 |
Member |
|
|
Folks;
having a strange situation to deal with, right now: As most of our
(non-Eclipse/OSGi based) Java applications make massive use of slf4j, I
wanted to try the same in an Eclipse RCP application... and failed: In
our RCP app, we also make use of OSGi declarative services (using
equinox.ds bundle), and I have a service in a bundle which depends upon
slf4j-api. The application configuration, as it is supposed to be,
contains both slf4j-api and ch.logback bundles. Generally, it seems to
work, however as soon as the application (runtime?) tries to start the
dynamic service declared in this special bundle, I get an error like
this...
Caused by: java.lang.ClassNotFoundException:
org.slf4j.impl.StaticLoggerBinder at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInter nal(BundleLoader.java:494)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:410)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:398)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248) ... 82 more
.... basically telling me that, while starting the service, there is no
slf4j logger implementation in classpath. Oddly enough (not that this
is a really desirable solution), this also does happen while having the
bundle containing the service explicitely depend upon some slf4j
implementation module. So to ask: Am I missing something here? Is
someone eventually using a similar combination of libraries and knows
to provide a few hints how to get out of this?
TIA and all the best,
Kristian
|
|
|
Powered by
FUDForum. Page generated in 0.03111 seconds