Eclipse啟動(dòng)Tomcat時(shí)報(bào)Error loading WebappClassLoader錯(cuò)誤的解決方法

context: /jsf2nd
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@1172e08
javax.faces.webapp.FacesServlet
java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1128)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2011-12-8 9:11:27 org.apache.catalina.core.StandardContext loadOnStartup
嚴(yán)重: Servlet /jsf2nd threw load() exception
java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1128)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
網(wǎng)上搜了幾種解決方案:
1、關(guān)掉myeclipse,把原來的tomcat換掉,如果是安裝版的就卸載,重新放一個(gè)tomcat,啟動(dòng)myeclipse,配置tomcat,部署,再啟動(dòng)tomcat,一切OK。
2、之前jar包我是通過Build path -> Configure build path-> Add External JARs的方式添加的,程序編譯,Tomcat啟動(dòng)都很正常,沒有錯(cuò)誤。可是一訪問jsp頁面就報(bào)上述錯(cuò)誤。 苦思不得其解,但看了錯(cuò)誤信息說是找不到org.springframework.web.servlet.DispatcherServlet類,所以我就干脆將spring.jar,spring-webmvc.jar等jar包通通手工添加到/WEB-INF/lib目錄下,并且將default output folder值改為projectName/WebContent/WEB-INF/classes 問題就得以解決了。
這兩種解決方案試了都不行,但是大體了解到可能是jar包沒有導(dǎo)入進(jìn)去,所以進(jìn)了eclipse的工程目錄,找到對應(yīng)的存放jar包的目錄:.metadata\.plugins\org.eclipse.wst.server.core\tmp3\wtpwebapps\jsf2nd\WEB-INF\lib,發(fā)現(xiàn)果然少了兩個(gè)jar包,將之放入后問題就解決了。
錯(cuò)誤原因:至今未能查明究竟是哪個(gè)地方出錯(cuò)了才使得eclipse不能將jar包放到eclipse的tomcat插件下面。
可能的幾個(gè)原因:
1、我的eclipse選擇的默認(rèn)編譯是jdk1.5,而這個(gè)項(xiàng)目用的是Tomcat6,
2、我的Eclipse里面默認(rèn)設(shè)置的tomcat的編譯器也是1.5
相關(guān)文章
- 當(dāng)遇到USB接口驅(qū)動(dòng)異常時(shí),可以通過多種方法來解決,其中主要就包括重裝USB控制器、禁用USB選擇性暫停設(shè)置、更新或安裝新的主板驅(qū)動(dòng)等2025-04-23
解除U盤有寫保護(hù)的方法(詳細(xì)步驟與解決方案)
在日常使用U盤的過程中,許多用戶可能會(huì)遇到U盤突然無法寫入數(shù)據(jù)的問題,這通常是由于U盤被寫保護(hù)所致,寫保護(hù)功能雖然可以防止數(shù)據(jù)被意外修改或刪除,但在需要寫入新數(shù)據(jù)時(shí)2024-12-14- 最近配置了服務(wù)器,并做了磁盤陣列,突然有一天硬盤找不到了,然后重新陣列找回,但在磁盤管理器中發(fā)現(xiàn)雖然可以看到分區(qū)了,但提醒硬盤是只讀模式無法寫入文件,參考如下方2024-12-14
電腦無法正常啟動(dòng)開機(jī)怎么辦? 手把手教你排查故障
電腦是現(xiàn)代人生活中不可缺少的工具,但有時(shí)候我們會(huì)遇到電腦開機(jī)失敗的情況,這時(shí)候我們應(yīng)該怎么辦呢?本文將從多個(gè)方面為大家介紹解決辦法2024-10-26電腦藍(lán)屏代碼memory_management怎么解決? 系統(tǒng)藍(lán)屏原因
電腦突然藍(lán)屏,顯示memory management,上來就被這串英文鎮(zhèn)住了,藍(lán)屏memory management是什么?為什么會(huì)出現(xiàn)藍(lán)屏memory management呢?,詳細(xì)請看下文介紹2024-08-01如何解決wpcap.dll丟失? 電腦wpcap.dll文件破損的修復(fù)方法
如果文件wpcap.dll丟失有什么辦法可以解決,出現(xiàn)wpcap.dll丟失的的原因又是因?yàn)槭裁茨??今天就大家了解一下wpcap.dll文件,希望能夠你給在解決wpcap.dll文件的問題上有所幫2024-08-01pasmutility.dll缺失怎么辦? 電腦pasmutility.dll丟失的修復(fù)技巧
如果你在打開某些程序或者游戲時(shí)遇到了“缺失pasmutility.dll”的錯(cuò)誤提示,不要驚慌,這是一個(gè)非常普遍的問題,下面我們就來看看詳細(xì)的教程2024-08-01svcapicall.dll丟失怎么解決? 電腦提示svcapicall.dll文件損壞的修復(fù)技
在使用電腦的過程中,有時(shí)會(huì)遇到各種各樣的問題,其中之一就是dll文件丟失的情況,特別是當(dāng)出現(xiàn)svcapicall.dll丟失的問題時(shí),很多人可能會(huì)束手無策,,下面我們就來看看這個(gè)2024-07-30ser32.dll丟失怎么辦? 電腦提示ser32.dll文件丟失破損的修復(fù)方法
如果出現(xiàn)user32.dll丟失的情況,可能會(huì)影響操作系統(tǒng)的正常運(yùn)行,今天這篇文章本文將介紹電腦缺失user32.dll丟失的解決辦法,詳細(xì)說明解決步驟2024-07-30msstdfmt.dll文件損壞丟失怎么辦? 快速的修復(fù)msstdfmt.dll丟失的方法
你是否曾經(jīng)碰到過弄丟msstdfmt.dll文件的情況呢?如果你遇到此問題,不必驚慌,在本文中,將為您介紹幾種修復(fù)msstdfmt.dll文件的方法,幫助您解決這一問題2025-03-20