首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误StatusLogger无法为ctx创建查找

错误StatusLogger无法为ctx创建查找
EN

Stack Overflow用户
提问于 2022-08-05 13:51:43
回答 1查看 2.5K关注 0票数 3

当我运行我的项目时,出现了以下错误:

代码语言:javascript
运行
复制
ERROR StatusLogger Unable to create Lookup for ctx

下面是整个堆栈跟踪:

无法为ctx创建查找: 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 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.org.apache.logging.log4j.core.util.ReflectionUtil.instantiate(ReflectionUtil.java:189),org.apache.logging.log4j.core.lookup.Interpolator.(Interpolator.java:81),org.apache.logging.log4j.core.lookup.Interpolator.(Interpolator.java:100),org.apache.logging.log4j.core.config.AbstractConfiguration.(AbstractConfiguration.java:135),org.apache.logging.log4j.core.config.NullConfiguration.(NullConfiguration.java:32),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)引起的原因: org.apache.logging.log4j.util.ServiceLoaderUtil : java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) .线程"main“java.lang.NoClassDefFoundError中又有27种异常:无法初始化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.org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:123),org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:117),org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:150),org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47),org.apache.logging.log4j.LogManager.getContext(LogManager.java:196),org.apache。logging.log4j.LogManager.getLogger(LogManager.java:599) at org.apache.poi.ooxml.POIXMLDocumentPart.(POIXMLDocumentPart.java:56) at CreateDocumentSimple.main(CreateDocumentSimple.java:88)

我不知道这是从哪里来的,因为我没有在我的整个项目中使用任何记录器。如果您需要更多的信息,请随时询问。

这是我的pom.xml:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <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>
EN

回答 1

Stack Overflow用户

发布于 2022-09-06 07:38:10

将库log4j-api.jar添加到类路径中。

要使您的项目正常工作,您必须从log4j-1.x开始删除所有jars。

我也犯了同样的错误,因为当我下载log4j依赖程序包时,我不知道我需要哪些文件,所以我添加了所有这些文件。但是通过这样做,不管出于什么原因,现在使用的是log4j 1而不是log4j 2。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73250866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档