从1.2.17更新到2.17.1时出现Log4j运行时异常

gwbalxhn  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(545)

我已经从log4j-1.2.17升级到log4j-2.17.1,并进行了必要的代码更改。代码构建良好,没有错误。我已经在构建路径和WEB-INF路径中包含了正确的jar文件(仅log4j-api-2.17.1.jar和log4j-core-2.17.1.jar)。
在Tomcat 8.x版本上部署时,在日志文件中看到404错误和以下异常错误。尝试了项目清理、Tomcat清理、重新生成等操作,但没有成功。
有什么建议吗?
先谢谢你。

INFO: Starting Servlet Engine: Apache Tomcat/8.5.61
Jan 07, 2022 4:24:29 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Jan 07, 2022 4:24:31 PM org.apache.catalina.core.StandardContext filterStart

**SEVERE: Exception starting filter [authfilter]

java.lang.NoClassDefFoundError: Lorg/apache/log4j/Logger;**
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
    at java.lang.Class.getDeclaredFields(Class.java:1916)
    at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:110)
    at org.apache.catalina.core.DefaultInstanceManager.populateAnnotationsCache(DefaultInstanceManager.java:403)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:173)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:151)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:106)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4538)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5181)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1412)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1402)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)
    ... 18 more

Jan 07, 2022 4:24:31 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: One or more Filters failed to start. Full details will be found in the appropriate container log file
toiithl6

toiithl61#

您可能需要其sl4j到log4j适配器的依赖关系

"org.apache.logging.log4j" name="log4j-slf4j-impl" rev="2.17.0"

相关问题