我使用apache-tomcat-7.0.37
Git:https://github.com/IRus/jMusic
应用程序部署时:
- [2013-03-15 10:52:11,542] Artifact jMusic:war exploded: Artifact is being deployed,please wait...
- Mar 15,2013 10:52:17 AM org.apache.catalina.core.ContainerBase addChildInternal
- SEVERE: ContainerBase.addChild: start:
- org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
- at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
- 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:633)
- at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1553)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.lang.reflect.Method.invoke(Method.java:601)
- at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
- at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
- at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:792)
- at org.apache.catalina.mbeans.Mbeanfactory.createStandardContext(Mbeanfactory.java:622)
- at org.apache.catalina.mbeans.Mbeanfactory.createStandardContext(Mbeanfactory.java:569)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.lang.reflect.Method.invoke(Method.java:601)
- at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
- at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
- at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:792)
- at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1486)
- at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:96)
- at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1327)
- at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1419)
- at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:847)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.lang.reflect.Method.invoke(Method.java:601)
- at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
- at sun.rmi.transport.Transport$1.run(Transport.java:177)
- at sun.rmi.transport.Transport$1.run(Transport.java:174)
- at java.security.AccessController.doPrivileged(Native Method)
- at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
- at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
- at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
- at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
- 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:722)
- Caused by: java.lang.NoClassDefFoundError: org/springframework/web/context/request/async/CallableProcessingInterceptor
- at java.lang.Class.getDeclaredFields0(Native Method)
- at java.lang.Class.privateGetDeclaredFields(Class.java:2317)
- at java.lang.Class.getDeclaredFields(Class.java:1762)
- at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
- at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:261)
- at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:140)
- at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:67)
- at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:405)
- at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
- at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369)
- at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
- at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
- at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5179)
- at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
- ... 40 more
- Caused by: java.lang.ClassNotFoundException: org.springframework.web.context.request.async.CallableProcessingInterceptor
- at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713)
- at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)
- ... 54 more
全错误:https://gist.github.com/IRus/3fa810b33af7fca09f1b#file-gistfile1-txt
我绝望地解决这个问题,花了大约一天的时间来决定.
有什么想法?
解决方法
根据
documentation的org.springframework.web.context.request.async.CallableProcessingInterceptor可以从Spring 3.2开始.神器是弹簧网.
在您的pom.xml中定义以下内容:
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-web</artifactId>
- <version>3.2.1.RELEASE</version>
- </dependency>