Eclipse启动Tomcat时报Error loading WebappClassLoader错误的解决方法

所属分类: 电脑基础 / 故障排除 阅读数: 68
收藏 0 赞 0 分享

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 
严重: 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) 

网上搜了几种解决方案:

1、关掉myeclipse,把原来的tomcat换掉,如果是安装版的就卸载,重新放一个tomcat,启动myeclipse,配置tomcat,部署,再启动tomcat,一切OK。
2、之前jar包我是通过Build path -> Configure build path-> Add External JARs的方式添加的,程序编译,Tomcat启动都很正常,没有错误。可是一访问jsp页面就报上述错误。 苦思不得其解,但看了错误信息说是找不到org.springframework.web.servlet.DispatcherServlet类,所以我就干脆将spring.jar,spring-webmvc.jar等jar包通通手工添加到/WEB-INF/lib目录下,并且将default output folder值改为projectName/WebContent/WEB-INF/classes 问题就得以解决了。

这两种解决方案试了都不行,但是大体了解到可能是jar包没有导入进去,所以进了eclipse的工程目录,找到对应的存放jar包的目录:.metadata\.plugins\org.eclipse.wst.server.core\tmp3\wtpwebapps\jsf2nd\WEB-INF\lib,发现果然少了两个jar包,将之放入后问题就解决了。

错误原因:至今未能查明究竟是哪个地方出错了才使得eclipse不能将jar包放到eclipse的tomcat插件下面。

可能的几个原因:
1、我的eclipse选择的默认编译是jdk1.5,而这个项目用的是Tomcat6,
2、我的Eclipse里面默认设置的tomcat的编译器也是1.5

更多精彩内容其他人还在看

分辨率调不了怎么办 电脑屏幕分辨率调不了的原因及解决方法

分辨率又称解析度,一般理解为屏幕显示像素的多少。电脑分辨率调不了怎么办?电脑新手朋友们经常会遇到此问题,下面与大家分享下3种电脑分辨率的调整方法,遇到类似情况的朋友可以参考下,希望对大家有所帮助
收藏 0 赞 0 分享

驱动更新失败问题怎么解决?完美解决驱动更新失败问题

在电脑上无论是安装驱动还是安装应用软件都有出现失败的时候,本章帮大家解决驱动程序更新的时候出现失败的现象
收藏 0 赞 0 分享

电容坏了(爆浆)是否影响电脑的正常运行

爆浆之后电脑还能正常开机和运行,但电脑的稳定性肯定不如以前了,在恶劣的环境下运行时,就会出现莫名奇妙的死机或者重启
收藏 0 赞 0 分享

笔记本看视频或玩游戏卡住黑屏是什么原因怎么解决

HP CQ40笔记本电脑,看个视频,一会儿就电脑卡住,然后几秒钟后直接黑屏,玩游戏或者看视屏就这个样子,用鲁大师测试温度:一般就60多度 也没有很高,原因及解决方法如下,有类似情况的朋友可以参考下
收藏 0 赞 0 分享

电脑本地连接没有了网络连接的本地连接不见的解决方法

电脑本地连接没有了,想必有很多朋友都遇到过这种情况吧,究竟是什么原因呢?由于所造成的原因各不相同,下面与大家分享下本地连接没有了的原因与解决办法,遇到类似情况的朋友可以参考下本文
收藏 0 赞 0 分享

电脑桌面无法显示音量控制窗口怎么回事?问题分析与解决方法介绍

Windows无法在任务栏上显示音量控制。请使用‘控制面板’中的‘添加/删除程序’来安装”,请问要怎么装
收藏 0 赞 0 分享

玩游戏自动跳回桌面故障分析及解决

电脑在正常运行时总会有一个程序莫名其妙的闪现,时间很短,在进程中似乎没什么异常,通常玩大型3D游戏时如果电源功率不够的话就会有跳回桌面的现象,电源不稳定也是这种现象产生
收藏 0 赞 0 分享

三星平板电脑连接充电器后仍未供电的解决方法

当平板电脑完全没有电后,连接充电器并尝试启动平板电脑,但却无法开机,这是怎么回事呢
收藏 0 赞 0 分享

U盘插到电脑上不显示图标的解决方法(以金士顿8GU盘为例)

有时候U盘在插上电脑时候,显示正常介入了,但是在我的电脑了却不显示图标,这就让人纠结了,遇到这样的情况,我们该怎么解决呢?下面与大家分享下具体的解决过程
收藏 0 赞 0 分享

IT故障排查工作中的六条不变法则适用于大多数而非全部情况

高强度故障排查工作往往会遵循一些通用且不成文的实践规则,在本文将结合自身经历总结出六条不变法则,希望能为大家的实际工作带来助益,只适用于大多数而非全部情况
收藏 0 赞 0 分享
查看更多