To get the core module to load, in addition to re-fixing what was almost fixed in
LOG4J2-159 I had to make several packages optional.
These provided a dependency on sun.misc, which I could hack around to make available but isn't normally available in OSGi and thus not a dependency I can easily put into a product. I believe the dependency is on sun.misc.Unsafe I'd like to use it...
There is also a direct dependency somewhere on
- sun.misc (also Unsafe)
- com.sun.tools.jconsole – I think this unlikely to be used in an OSGi environment, so optional is appropriate.
These would be easy enough to satisfy, but since most people won't need JSON logging, the dependency should be optional.
I think the correct minimal fix is just to make them all optional in the manifest. Eliminating the need for sun.misc would be a good further step