【項目啟動】 tomcat啟動,項目無法啟動,無法正常訪問/項目可以啟動,報錯:java.lang.ClassNotFoundException: ContextLoaderListener


使用maven搭建項目(這個錯誤和是不是使用maven搭建項目沒有關系),然后部署到tomcat中運行。

 

出現問題1:

tomcat跑起來了,但是啟動時間很短,沒有報錯,項目不能正常訪問

項目啟動時間很短,並且沒有報錯

並且項目無法正常訪問

 

發現問題過程:

查看tomcat下,發現這個項目在tomcat的webapps下部署的僅僅是項目的部分文件,有好多的東西並沒有部署進來

我們發現tomcat下部署的本項目中 並沒有lib依賴包庫 等目錄。

 

解決途徑:

因此我們需要通過  使用deployment assembly為web工程指定在運行的時候,指定將依賴的工程打成jar包部署到web-inf/lib下

也就是通過這個設置項目在tomcat中要打包部署的東西

將這個選擇添加到我們需要打包部署的目錄中

這樣  項目就可以啟動起來了。

 

 

問題2:項目啟動,會報錯java.lang.ClassNotFoundException: ContextLoaderListener

 

 

 1 嚴重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
 2 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
 3     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
 4     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
 5     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4153)
 6     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4709)
 7     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:802)
 8     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
 9     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:583)
10     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1080)
11     at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1003)
12     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:507)
13     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1322)
14     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:325)
15     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
16     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1068)
17     at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)
18     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1060)
19     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
20     at org.apache.catalina.core.StandardService.start(StandardService.java:525)
21     at org.apache.catalina.core.StandardServer.start(StandardServer.java:759)
22     at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
23     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
24     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
25     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
26     at java.lang.reflect.Method.invoke(Method.java:606)
27     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
28     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
29 六月 23, 2016 4:24:17 下午 org.apache.catalina.core.StandardContext listenerStart
30 嚴重: Error configuring application listener of class org.springframework.web.util.IntrospectorCleanupListener
31 java.lang.ClassNotFoundException: org.springframework.web.util.IntrospectorCleanupListener
32     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
33     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
34     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4153)
35     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4709)
36     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:802)
37     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
38     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:583)
39     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1080)
40     at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1003)
41     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:507)
42     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1322)
43     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:325)
44     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
45     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1068)
46     at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)
47     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1060)
48     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
49     at org.apache.catalina.core.StandardService.start(StandardService.java:525)
50     at org.apache.catalina.core.StandardServer.start(StandardServer.java:759)
51     at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
52     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
53     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
54     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
55     at java.lang.reflect.Method.invoke(Method.java:606)
56     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
57     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
View Code

 

這個報錯信息顯示,我們web.xml中配置的這兩個Listener所依賴的類找不到:

就是這兩個listener:

 1 <!-- 監聽servletContext,啟動contextConfigLocation中的spring配置信息 -->
 2     <listener>
 3         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 4     </listener>
 5 
 6 
 7     <!-- 防止spring內存溢出監聽器   可用可不用-->
 8     <listener>
 9         <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
10     </listener>
View Code

 

發現問題的過程:

但是我們在maven的pom.xml中已經將它所依賴的架包全都導入了。

工程為maven工程,ContextLoaderListener類位於spring-web-3.1.0.RELEASE.jar包中。檢查了maven的pom.xml,依賴引入正常。在工程Maven Dependencies視圖中也能看到spring-web-3.1.0.RELEASE.jar包被正常引入進來了。

 

解決途徑:

所以,應該是項目中所依賴的架包什么的都沒有被正常的打包部署到tomcat下

 

添加后,重新clean一下項目,然后啟動起來項目正常啟動!!!!

 


免責聲明!

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



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