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文件夾

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM