As you can see from the stacktrace, the call to the DefaultLogBuilder is made from Apache POI. Does this mean that Apache Poi can not be used in Karaf?
Regards Richard Am Mi., 8. Dez. 2021 um 08:35 Uhr schrieb Jean-Baptiste Onofré < [email protected]>: > Hi Richard, > > Yes and no ;) > > Pax Logging "wrap" log4j classes, mostly the API, but not all classes, > especially the one that could not work in OSGi or don't make sense with > Pax Logging. > > Especially, in pax-logging-api, all org.apache.logging.log4j.internal > classes (including DefaultLogBuilder) are not shipped as you are not > supposed to use it (it's delegated to Pax Logging service). > > Regards > JB > > On 08/12/2021 08:28, Richard Hierlmeier wrote: > > I have in a Karaf 4.3.3 application an Excel export based on Apache Poi > > 5.1.0. > > During the export the following exception occurs: > > > > Caused by: java.lang.NoClassDefFoundError: > > org/apache/logging/log4j/internal/DefaultLogBuilder > > at > > > org.apache.logging.log4j.spi.AbstractLogger$LocalLogBuilder.initialValue(AbstractLogger.java:2953) > > at > > > org.apache.logging.log4j.spi.AbstractLogger$LocalLogBuilder.initialValue(AbstractLogger.java:2945) > > at java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:180) > > at java.lang.ThreadLocal.get(ThreadLocal.java:170) > > at > > > org.apache.logging.log4j.spi.AbstractLogger.getLogBuilder(AbstractLogger.java:2930) > > at > > > org.apache.logging.log4j.spi.AbstractLogger.atLevel(AbstractLogger.java:2923) > > at > > > org.apache.logging.log4j.spi.AbstractLogger.atWarn(AbstractLogger.java:2882) > > at org.apache.poi.util.XMLHelper.logThrowable(XMLHelper.java:307) > > at org.apache.poi.util.XMLHelper.trySet(XMLHelper.java:287) > > at > > > org.apache.poi.util.XMLHelper.getDocumentBuilderFactory(XMLHelper.java:114) > > at org.apache.poi.util.XMLHelper.<clinit>(XMLHelper.java:85) > > at > > > org.apache.poi.ooxml.util.DocumentHelper.newDocumentBuilder(DocumentHelper.java:47) > > at > org.apache.poi.ooxml.util.DocumentHelper.<clinit>(DocumentHelper.java:36) > > at > > > org.apache.poi.openxml4j.opc.internal.ContentTypeManager.save(ContentTypeManager.java:429) > > at org.apache.poi.openxml4j.opc.ZipPackage.saveImpl(ZipPackage.java:554) > > at org.apache.poi.openxml4j.opc.OPCPackage.save(OPCPackage.java:1487) > > at org.apache.poi.ooxml.POIXMLDocument.write(POIXMLDocument.java:227) > > at > org.apache.poi.xssf.streaming.SXSSFWorkbook.write(SXSSFWorkbook.java:963) > > Caused by: java.lang.ClassNotFoundException: > > org.apache.logging.log4j.internal.DefaultLogBuilder not found by > > org.ops4j.pax.logging.pax-logging-api [7] > > at > > > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1565) > > at > > > org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:78) > > at > > > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1950) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:351) > > ... 32 more > > > > The org.ops4j.pax.logging.pax-logging-api bundle has no import to > > org.apache.logging.log4j.internal. > > > > karaf@root()> headers 7 > > ... > > Import-Package = > > org.osgi.framework;version="[1.0.0,2.0.0)", > > org.osgi.framework.wiring;version="[1.0.0,2.0.0)", > > org.osgi.util.tracker;version="[1.0.0,2.0.0)", > > > > org.osgi.service.event;resolution:=optional;version="[1.0.0,2.0.0)", > > org.osgi.service.log;version="[1.4.0,2.0.0)", > > org.apache.log;resolution:=optional, > > javax.xml.parsers, > > org.w3c.dom, > > > > org.osgi.service.log.admin;resolution:=optional;version="[1.0,2.0)", > > > > org.osgi.service.log.stream;resolution:=optional;version="[1.0,2.0)" > > > > Is this a known bug? > > > > Regards > > > > Richard >
