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

hide on cloud 2017-04-14 04:27:01
信息: 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>

导入的包如下:


求大神解决!
万分感激!
...全文
6807 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_41286266 2020-09-28
  • 打赏
  • 举报
回复
为什么一定得有commons-logging,没有的话项目无法启动
BlueSpringTT 2017-04-14
  • 打赏
  • 举报
回复
删除你重复的jar包
李德胜1995 2017-04-14
  • 打赏
  • 举报
回复
引用 1 楼 pany1209 的回复:
导入log4j的jar包试试。。。。
你两个log4j包。。。去掉一个试试。。。。
月明星稀灬 2017-04-14
  • 打赏
  • 举报
回复
不过从解决BUG的角度来说,其实你是少了一个jar包估计, commons-lang-2.5.jar 和这个包很像 commons-lang3-3.4.jar
月明星稀灬 2017-04-14
  • 打赏
  • 举报
回复
这类问题最好解决了,直接去官网下载一个 示例WEB程序,然后拷过来,把不要的都删了,剩下的保准能用。
李德胜1995 2017-04-14
  • 打赏
  • 举报
回复
导入log4j的jar包试试。。。。

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧