java.lang.IllegalArgumentException: ServletContext must not be null

 

问题描述:运行部署项目,页面404 ,后台输出如下的异常,翻译说是 “上下文路径不能为空” ,找了一个多小时也没找到原因,最后腆着脸问大佬,一看就发现问题了

原因:项目里有web文件夹和webRoot文件夹(公司的项目,我也不知道为啥有俩),web文件夹下的web.xml是空的,webRoot下的web.xml才实打实的

 

 1 java.lang.IllegalArgumentException: ServletContext must not be null
 2     at org.springframework.util.Assert.notNull(Assert.java:112)
 3     at org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext(WebApplicationContextUtils.java:115)
 4     at org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext(WebApplicationContextUtils.java:105)
 5     at fe.res.SpringWebContextImpl.getContextResource(SpringWebContextImpl.java:17)
 6     at fe.res.ResourceManage.getContext(ResourceManage.java:179)
 7     at fe.messageout.MessageControl.getInstance(MessageControl.java:32)
 8     at nl.justobjects.pushlet.servlet.Pushlet.init(Pushlet.java:37)
 9     at javax.servlet.GenericServlet.init(GenericServlet.java:158)
10     at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1227)
11     at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1140)
12     at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1027)
13     at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5038)
14     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5348)
15     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
16     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)
17     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)
18     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
19     at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1733)
20     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
21     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
22     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
23     at java.lang.reflect.Method.invoke(Method.java:498)
24     at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
25     at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
26     at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
27     at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:484)
28     at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:433)
29     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
30     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
31     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
32     at java.lang.reflect.Method.invoke(Method.java:498)
33     at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
34     at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
35     at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
36     at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468)
37     at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
38     at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
39     at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
40     at java.security.AccessController.doPrivileged(Native Method)
41     at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408)
42     at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
43     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
44     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
45     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
46     at java.lang.reflect.Method.invoke(Method.java:498)
47     at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
48     at sun.rmi.transport.Transport$1.run(Transport.java:200)
49     at sun.rmi.transport.Transport$1.run(Transport.java:197)
50     at java.security.AccessController.doPrivileged(Native Method)
51     at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
52     at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
53     at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
54     at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
55     at java.security.AccessController.doPrivileged(Native Method)
56     at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
57     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
58     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
59     at java.lang.Thread.run(Thread.java:748)

 

 

总结:

 

 我错就错在配错了 web.xml 和 web文件夹

 

posted @ 2020-07-28 11:42  命运使然  阅读(2514)  评论(0编辑  收藏  举报