天天看點

spring mvc啟動報錯

spring mvc啟動報錯,錯誤如下: 

 - [localhost-startStop-1]2018-01-17 14:42:45 ERROR ContextLoader.java.307 - Context initialization failed

 - [localhost-startStop-1]java.lang.IllegalArgumentException

at org.springframework.asm.ClassReader.<init>(Unknown Source)

at org.springframework.asm.ClassReader.<init>(Unknown Source)

at org.springframework.asm.ClassReader.<init>(Unknown Source)

at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:52)

at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80)

at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:101)

at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:76)

at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:298)

at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:300)

at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:300)

at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:230)

at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:153)

at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:130)

at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:285)

at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:240)

at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:694)

at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:684)

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

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:4853)

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

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

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

一月 17, 2018 2:42:45 下午 org.apache.catalina.core.StandardContext listenerStart

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

java.lang.IllegalArgumentException

at org.springframework.asm.ClassReader.<init>(Unknown Source)

at org.springframework.asm.ClassReader.<init>(Unknown Source)

at org.springframework.asm.ClassReader.<init>(Unknown Source)

at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:52)

at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80)

at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:101)

at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:76)

at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:298)

at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:300)

at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:300)

at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:230)

at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:153)

at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:130)

at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:285)

at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:240)

at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:694)

at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:684)

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

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:4853)

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

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

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

一月 17, 2018 2:42:45 下午 org.apache.catalina.core.ApplicationContext log

資訊: Log4jServletContextListener ensuring that Log4j starts up properly.

一月 17, 2018 2:42:45 下午 org.apache.catalina.core.StandardContext startInternal

嚴重: One or more listeners failed to start. Full details will be found in the appropriate container log file

一月 17, 2018 2:42:46 下午 org.apache.catalina.core.StandardContext startInternal

嚴重: Context [/Stss] startup failed due to previous errors

一月 17, 2018 2:42:46 下午 org.apache.catalina.core.ApplicationContext log

資訊: Log4jServletContextListener ensuring that Log4j shuts down properly.

一月 17, 2018 2:42:46 下午 org.apache.catalina.core.ApplicationContext log

資訊: Removing LoggerContext for [Mobile_Management_new].

一月 17, 2018 2:42:46 下午 org.apache.catalina.core.ApplicationContext log

資訊: Closing Spring root WebApplicationContext

2018-01-17 14:42:46 INFO AbstractApplicationContext.java.1042 - Closing Root WebApplicationContext: startup date [Wed Jan 17 14:42:44 CST 2018]; root of context hierarchy

 - [localhost-startStop-1]2018-01-17 14:42:46 WARN AbstractApplicationContext.java.1052 - Exception thrown from ApplicationListener handling ContextClosedEvent

 - [localhost-startStop-1]java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: Root WebApplicationContext: startup date [Wed Jan 17 14:42:44 CST 2018]; root of context hierarchy

at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:347)

at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:334)

at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1049)

at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1010)

at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:549)

at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:143)

at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4900)

at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5537)

at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:221)

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

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

2018-01-17 14:42:46 WARN AbstractApplicationContext.java.1060 - Exception thrown from LifecycleProcessor on context close

 - [localhost-startStop-1]java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: Root WebApplicationContext: startup date [Wed Jan 17 14:42:44 CST 2018]; root of context hierarchy

at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:360)

at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1057)

at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1010)

at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:549)

at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:143)

at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4900)

at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5537)

at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:221)

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

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

錯誤原因:啟動時用的tomcat是8.0版本,但是spring mvc架構是3.2.0的,是以報錯。

解決方法:更新spring mvc架構到4.3

更新方法:

SpringMVC 3.2.0 --> SpringMVC 4.3.6

1、lib下所有spring開頭的包全由3.2.0版本替換為4.3.6版本;

2、config/spring下的xml,所有的spring配置版本都有3.2改成4.3(不能帶小版本号);

3、eclipse中的Complier、JDK都換成 JDK1.8版本,tomcat換成 8.0版本;