java报错-java.lang.ClassNotFoundException: org.apache.log4j.Level

  • Post author:
  • Post category:java


主要错误:



Failed to instantiate SLF4J LoggerFactory




java.lang.ClassNotFoundException: org.apache.log4j.Level



详细错误:



Failed to instantiate SLF4J LoggerFactory


Reported exception:



java.lang.NoClassDefFoundError: org/apache/log4j/Level



at org.slf4j.LoggerFactory.bind(LoggerFactory.java:129)




at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108)



at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:302)



at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:276)



at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:288)



at org.apache.shiro.spring.LifecycleBeanPostProcessor.<clinit>(LifecycleBeanPostProcessor.java:51)



at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)



at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)



at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)



at java.lang.reflect.Constructor.newInstance(Unknown Source)



at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148)



at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)



at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1004)




at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:957)



at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490)



at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)



at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)




at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)



at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)



at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)



at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:720)



at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)




at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383)



at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)



at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)




at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5016)



at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5524)



at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)



at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)



at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)



at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)



at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1245)



at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1895)



at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)



at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)



at java.util.concurrent.FutureTask.run(Unknown Source)



at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)




at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)



at java.lang.Thread.run(Unknown Source)



Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Level



at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)



at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)



… 39 more



2015-8-27 16:46:31 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry destroySingletons



信息: Destroying singletons in


org.springframework.beans.factory.support.DefaultListableBeanFactory@acbc854


: defining beans [myRealm,securityManager,shiroFilter,lifecycleBeanPostProcessor,org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator#0,org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor#0]; root of factory hierarchy



2015-8-27 16:46:31 org.springframework.web.context.ContextLoader initWebApplicationContext



严重: Context initialization failed



org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘lifecycleBeanPostProcessor’ defined in class path resource [applicationContext-shiro.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/log4j/Level



at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1011)



at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:957)



at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490)



at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)



at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)



at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)



at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)



at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)



at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:720)



at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)



at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383)



at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)



at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)



at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5016)



at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5524)



at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)



at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)



at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)



at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)



at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1245)



at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1895)



at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)



at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)



at java.util.concurrent.FutureTask.run(Unknown Source)



at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)



at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)



at java.lang.Thread.run(Unknown Source)



Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Level



at org.slf4j.LoggerFactory.bind(LoggerFactory.java:129)



at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108)



at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:302)



at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:276)



at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:288)



at org.apache.shiro.spring.LifecycleBeanPostProcessor.<clinit>(LifecycleBeanPostProcessor.java:51)



at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)



at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)



at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)



at java.lang.reflect.Constructor.newInstance(Unknown Source)



at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148)



at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)



at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1004)



… 26 more



Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Level



at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)



at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)



… 39 more



2015-8-27 16:46:31 org.apache.catalina.core.StandardContext listenerStart



严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener



org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘lifecycleBeanPostProcessor’ defined in class path resource [applicationContext-shiro.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/log4j/Level



at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1011)



at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:957)



at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490)



at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)



at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)



at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)



at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)



at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)



at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:720)



at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)



at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383)



at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)



at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)



at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5016)



at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5524)



at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)



at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)



at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)



at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)



at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1245)



at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1895)



at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)



at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)



at java.util.concurrent.FutureTask.run(Unknown Source)



at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)



at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)



at java.lang.Thread.run(Unknown Source)



Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Level



at org.slf4j.LoggerFactory.bind(LoggerFactory.java:129)



at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108)



at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:302)



at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:276)



at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:288)



at org.apache.shiro.spring.LifecycleBeanPostProcessor.<clinit>(LifecycleBeanPostProcessor.java:51)



at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)



at sun.reflect.NativeConstructorAccessor



Impl.newInstance(Unknown Source)



at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)



at java.lang.reflect.Constructor.newInstance(Unknown Source)



at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148)



at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)



at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1004)



… 26 more



Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Level



at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)



at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)



… 39 more




解决过程和方法:




这个错误无缘无故duang的一下就出现了,我的项目里面没有用到有关log4j的代码,之前启动tomcat服务器一直好好地,
刚开始以为只是tomcat运行久了偶尔会来这么一下,可是运行了好几次还是报错,
接着我把先前添加的代码全部注释掉还是报错,
再接着我又把日志管理的

slf4j-api-1.7.6.jar和slf4j-log4j12-1.7.6.jar包导到工程中可是还是报错。这我就无语了,好好地工程启动tomcat时报一个毫无相关的错误。


最后


搜索了一下,说缺少了log4j-1.2.14.jar或是log4j-1.2.16.jar。我把log4j-1.2.14.jar包导到工程后重启tomcat就好了。




可是我还是想不明白,我的项目中没有log4j相关的,如果说可能添加的代码有依赖log4j包,可是注释掉后错误依然存在,不知道为什么就出了这个错误?



版权声明:本文为u013147600原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。