I have this error when i run my project :

ERROR StatusLogger Unable to create Lookup for ctx 

Here is the whole stacktrace :

ERROR StatusLogger Unable to create Lookup for ctx java.lang.NoClassDefFoundError: org/apache/logging/log4j/util/ServiceLoaderUtil at org.apache.logging.log4j.core.impl.ThreadContextDataInjector.getServiceProviders(ThreadContextDataInjector.java:77) at org.apache.logging.log4j.core.impl.ThreadContextDataInjector.(ThreadContextDataInjector.java:64) at org.apache.logging.log4j.core.impl.ThreadContextDataInjector$ForCopyOnWriteThreadContextMap.(ThreadContextDataInjector.java:211) at org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createDefaultInjector(ContextDataInjectorFactory.java:94) at org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createInjector(ContextDataInjectorFactory.java:71) at org.apache.logging.log4j.core.lookup.ContextMapLookup.(ContextMapLookup.java:34) at (Native Method) at (NativeConstructorAccessorImpl.java:62) at (DelegatingConstructorAccessorImpl.java:45) at (Constructor.java:490) at org.apache.logging.log4j.core.util.ReflectionUtil.instantiate(ReflectionUtil.java:189) at org.apache.logging.log4j.core.lookup.Interpolator.(Interpolator.java:81) at org.apache.logging.log4j.core.lookup.Interpolator.(Interpolator.java:100) at org.apache.logging.log4j.core.config.AbstractConfiguration.(AbstractConfiguration.java:135) at org.apache.logging.log4j.core.config.NullConfiguration.(NullConfiguration.java:32) at org.apache.logging.log4j.core.LoggerContext.(LoggerContext.java:74) at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.createContext(ClassLoaderContextSelector.java:254) at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext(ClassLoaderContextSelector.java:218) at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:136) at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:123) at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:117) at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:150) at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47) at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196) at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:599) at org.apache.poi.ooxml.POIXMLDocumentPart.(POIXMLDocumentPart.java:56) at CreateDocumentSimple.main(CreateDocumentSimple.java:88) Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.util.ServiceLoaderUtil at (BuiltinClassLoader.java:581) at (ClassLoaders.java:178) at (ClassLoader.java:521) ... 27 more Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.apache.logging.log4j.core.impl.ThreadContextDataInjector at org.apache.logging.log4j.core.impl.ThreadContextDataInjector$ForCopyOnWriteThreadContextMap.(ThreadContextDataInjector.java:211) at org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createDefaultInjector(ContextDataInjectorFactory.java:94) at org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createInjector(ContextDataInjectorFactory.java:71) at org.apache.logging.log4j.core.impl.ReusableLogEventFactory.(ReusableLogEventFactory.java:42) at org.apache.logging.log4j.core.config.LoggerConfig.(LoggerConfig.java:101) at org.apache.logging.log4j.core.config.AbstractConfiguration.(AbstractConfiguration.java:138) at org.apache.logging.log4j.core.config.NullConfiguration.(NullConfiguration.java:32) at org.apache.logging.log4j.core.LoggerContext.(LoggerContext.java:74) at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.createContext(ClassLoaderContextSelector.java:254) at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext(ClassLoaderContextSelector.java:218) at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:136) at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:123) at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:117) at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:150) at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47) at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196) at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:599) at org.apache.poi.ooxml.POIXMLDocumentPart.(POIXMLDocumentPart.java:56) at CreateDocumentSimple.main(CreateDocumentSimple.java:88)

I don't know where this come from since i don't user any logger in my whole projet. If you need more information please feel free to ask.

Here is my pom.xml :

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="" xmlns:xsi="" xsi:schemaLocation=" "> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>TestPoi</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.2.2</version> </dependency> </dependencies> </project> 
2

1 Answer

Add the library log4j-api.jar to the classpath.

To make your project work you have to remove all jars starting with log4j-1.x.

I made the same mistake, because when I downloaded the log4j dependency package, I didn't know which files I needed, so I added all of them. But by doing so, for whatever reason, now log4j 1 is used instead of log4j 2.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.