[slf4j-dev] State of OSGi & SLF4J

John E. Conlon jconlon at verticon.com
Thu Feb 22 23:21:17 CET 2007


Ceki Gülcü wrote:
> Hello all,
>
> Using the latest SLF4J code from the repo (rev. 752), I am able to
> start both the slf4j-api and slf4j-simple bundles. Just as
> importantly, the slf4j-api bundle successfully exports the "org.slf4j" package.
>
> The MANIFEST.MF file for slf4j-api reads:
>
> Implementation-Title: slf4j-api
> Bundle-ManifestVersion: 2
> Bundle-SymbolicName: slf4j.api
> Bundle-Name: slf4j-api
> Bundle-Vendor: SLF4J.ORG
> Export-Package: org.slf4j;version=1.3, org.slf4j.spi;version=1.3, 
> org.slf4j.helpers;version=1.3
> Import-Package: org.slf4j.impl
>
> The MANIFEST.MF file for slf4j-simple reads:
>
> Implementation-Title: slf4j-simple
> Bundle-ManifestVersion: 2
> Bundle-SymbolicName: slf4j.simple
> Bundle-Name: slf4j-simple
> Bundle-Vendor: SLF4J.ORG
> Require-Bundle: slf4j.api
> Export-Package: org.slf4j.impl
> Import-Package: org.slf4j, org.slf4j.spi, org.slf4j.helpers
>
>
> There is none of the "partial=true;mandatory:=partial" crap we had
> previously.
>
>   
"Crap" is necessary to prevent client bundles that import the org.slf4j 
package from being 'wired' by the OSGi runtime classloader matrix to the 
slf4j-api bundle.  Clients wired to this bundle will get 
ClassNotFoundExceptions when they try to use get a logger.  This is 
because its packages org.sl4fj and org.slf4j.impl are 'split' across the 
api and the binding bundle.  It will look okay as long as no bundle 
tries to load any classes. 

As soon as I can build the trunk I will adjust latest metadata to 
accommodate the split packages and preform the OSGi profile tests.


kind regards,
John




More information about the slf4j-dev mailing list