如何解决java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager

时间:2022-12-16 15:36:18
信息: No Spring WebApplicationInitializer types detected on classpath
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.


前面有上面的内容


严重: Exception starting filter struts2
java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
at com.opensymphony.xwork2.config.ConfigurationManager.<clinit>(ConfigurationManager.java:41)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:404)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.init(StrutsPrepareFilter.java:50)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4572)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5215)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1107)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1841)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
... 20 more

怎么解决这个问题,我百度了一天了

web.xml配置如下:
<filter>
       <filter-name>struts2</filter-name>
         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
</filter>
<filter-mapping>
        <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
</filter-mapping> 

导入的包如下:
如何解决java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager

求大神解决!
万分感激!

5 个解决方案

#1


导入log4j的jar包试试。。。。

#2


这类问题最好解决了,直接去官网下载一个 示例WEB程序,然后拷过来,把不要的都删了,剩下的保准能用。

#3


不过从解决BUG的角度来说,其实你是少了一个jar包估计,
commons-lang-2.5.jar 和这个包很像 commons-lang3-3.4.jar 

#4


引用 1 楼 pany1209 的回复:
导入log4j的jar包试试。。。。

你两个log4j包。。。去掉一个试试。。。。

#5


删除你重复的jar包

#1


导入log4j的jar包试试。。。。

#2


这类问题最好解决了,直接去官网下载一个 示例WEB程序,然后拷过来,把不要的都删了,剩下的保准能用。

#3


不过从解决BUG的角度来说,其实你是少了一个jar包估计,
commons-lang-2.5.jar 和这个包很像 commons-lang3-3.4.jar 

#4


引用 1 楼 pany1209 的回复:
导入log4j的jar包试试。。。。

你两个log4j包。。。去掉一个试试。。。。

#5


删除你重复的jar包