Question

I need an OSGi-ified version of Apache POI, but couldn't find one, so I built one using BND. BND claims that Apache POI needs Apache Commons Logging. So I looked for an OSGi-ified version of that, but didn't find one. So I built one using BND. BND claims that Apache Commons Logging needs "Apache Excalibur" and "Apache Avalon", which are apparently retired Apache projects somehow related to logging. I'm guessing I'm not going to be able to find OSGi-ified versions of those.

Do I really need this stuff? Or is it just because Apache Commons optionally supports Excalibur and Avalon, whatever they are? In which case I could just tell BND to consider those to be optional, and not care about the fact that I don't have them?

Alternatively, does anyone know of a "real" OSGi version of Commons Logging, which already deals with these (and other) issues in a more thought-out manner than my half-assed "let BND figure it out" method?

Thanks in advance.

Edit: To be clear, BND doesn't really claim Commons Logging needs Avalon and Excalibur; rather, it claims it needs the packages org.apache.avalon.framework.logger and org.apache.log. Those packages seem (to me) to be from Avalon and Excalibur, repsectively.

Was it helpful?

Solution

There is an OSGi-ified version of Commons Logging available in Eclipse Orbit. The dependencies to Excalibur and Avalon should be optional and not required at runtime. I know that someone is also working on OSGi-ifying Apache POI but there are some issues with our build which causes circular dependencies.

OTHER TIPS

You can try to use pax logging. It provides OSGi ready implementations for all popular logging frameworks. The easiest way to test it is with Apache Karaf. It comes with pax logging preinstalled.

See http://karaf.apache.org/

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top