最近新建了一个JSF项目(网上查到用Struts,Spring MVC也会如此),配置好以后用Eclipse启动Tomcat报了如下错误:严重: Error loading WebappClassLoader

  1. context: /jsf2nd
  2. delegate: false
  3. repositories:
  4. /WEB-INF/classes/
  5. ----------> Parent Classloader:
  6. org.apache.catalina.loader.StandardClassLoader@1172e08
  7. javax.faces.webapp.FacesServlet
  8. java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
  9. at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
  10. at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
  11. at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1128)
  12. at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
  13. at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
  14. at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
  15. at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
  16. at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
  17. at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
  18. at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
  19. at org.apache.catalina.core.StandardService.start(StandardService.java:525)
  20. at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
  21. at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
  22. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  23. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  24. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  25. at java.lang.reflect.Method.invoke(Method.java:597)
  26. at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
  27. at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
  28. 2011-12-8 9:11:27 org.apache.catalina.core.StandardContext loadOnStartup
  29. 严重: Servlet /jsf2nd threw load() exception
  30. java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
  31. at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
  32. at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
  33. at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1128)
  34. at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
  35. at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
  36. at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
  37. at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
  38. at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
  39. at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
  40. at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
  41. at org.apache.catalina.core.StandardService.start(StandardService.java:525)
  42. at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
  43. at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
  44. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  45. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  46. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  47. at java.lang.reflect.Method.invoke(Method.java:597)
  48. at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
  49. 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

解决Eclipse启动Tomcat时报Error loading WebappClassLoader错误的更多相关文章

  1. Eclipse启动tomcat时报错:Multiple Contexts have a path of "/xxx"

    今天使用Eclipse启动tomcat部署项目时,遇到一个奇怪的错误: Could not publish server configuration for Tomcat v6.0 Server at ...

  2. eclipse启动Tomcat时报错:严重: Exception loading sessions from persistent storage

    我的项目工程是Spring+hibernate+structs  1.0,最近启动tomcat时多次遇到如下异常: 严重: IOException while loading persisted se ...

  3. 用eclipse启动tomcat时报Could not publish server configuration for Tomcat v8.0 Server at localhost..错误

    网上的解决方法是: 1.如果是使用的eclipse tomcat 插件,需要在你的工作空间 找到如下文件:.metadata.plugins\org.eclipse.wst.server.cor\e\ ...

  4. 解决eclipse启动tomcat报错:Could not load the Tomcat server configuration at \Servers\Tomcat v6.0 Server at localhost-config. The Servers project is closed.

    报错信息已经说的很清楚了:The Servers project is closed.如图 打开即可: 另外,如果你修改了Servers project的name(比如说把这里的Servers改成了X ...

  5. 用Eclipse的tomcat插件启动tomcat时报错:

    用Eclipse的tomcat插件启动tomcat时报错: FATAL ERROR in native method: JDWP No transports initialized, jvmtiErr ...

  6. MyEclipse 启动tomcat时报错:Cannot change deployment state from ERROR to REDEPLOYING.ds

    myeclipse 启动tomcat时报错:Cannot change deployment state from ERROR to REDEPLOYING.ds - 刘琦的专栏 - 博客频道 - C ...

  7. [转]Eclipse启动Tomcat时45秒超时解决方法

    原文地址:http://it.oyksoft.com/post/6577/ Eclipse启动Tomcat时,默认配置的启动超时时长为45秒.假若项目启动超过45秒将会报错.两种解决方法:1.改XML ...

  8. Springmvc+Hibernate在Eclipse启动Tomcat需要很长时间的解决方法

    最近在学习SpringMvc开发,有一个提问困扰了很久,就是在Eclipse启动Tomcat需要很长时间,大概要1分多钟. 启动日志: 九月 08, 2016 8:59:01 下午 org.apach ...

  9. Eclipse启动Tomcat时45秒超时的解决方法

    Eclipse启动Tomcat时,默认配置的启动超时时长为45秒.假若项目需要加载的东西比较多,启动时间会比较久,如果启动超过45秒将会报错.有两种解决途径,方法只有一个,就是修改启动时间. 1. 修 ...

随机推荐

  1. C#常用方法集合

    public class Utility:Page { #region 数据转换 /// <summary> /// 返回对象obj的String值,obj为null时返回空值. /// ...

  2. twitter通过oAuth验证获取json数据

    protected void Page_Load(object sender, EventArgs e) { var oAuthConsumerKey = "你的key"; var ...

  3. PHP 操作MySQL———来自copy

    学习要点:1.PHP 连接到MySQL2.增删改查3.其他常用函数 如果你已经具有了使用PHP.SQL 和MySQL 的丰富经验,现在就可以把所有这些技术组合在一起.PHP 与MySQL 之间稳固的集 ...

  4. iOS开发-二维码扫描和应用跳转

    iOS开发-二维码扫描和应用跳转   序言 前面我们已经调到过怎么制作二维码,在我们能够生成二维码之后,如何对二维码进行扫描呢? 在iOS7之前,大部分应用中使用的二维码扫描是第三方的扫描框架,例如Z ...

  5. 关于web前端(知乎上收集)

    1988年的图灵奖得主Ivan Sutherland就是搞人机交互的,事情跟现在的前端是一个路子. 微博上@_Franky: 这和司机一个道理. 开车也是易学难精的.基本个把月就能上路. 而需要赛车手 ...

  6. Centos Odoo Service Config

    #!/bin/sh ### BEGIN INIT INFO # Provides: openerp-server # Required-Start: $remote_fs $syslog # Requ ...

  7. 在html中如何获取表单提交的数据

    a.html: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www ...

  8. php+curl上传文件

    因为公司项目用java做的,需要我这边用php上传文件.只给了个接口,参数都不明确,然后这边不提交表单,在生成pdf之后就立马上传.用了php+curl,总是没上传成功,这里看到了篇文章http:// ...

  9. 比较数据泵和exp/imp对相同数据导出/导入的性能差异

    1环境准备 2演示exp/imp方式效率 3演示数据泵方式效率

  10. 使用RMAN备份数据库

    1.1使用控制文件备份全库 1.1.1配置备份路径 1.1.2 RMAN备份全库 1.2使用catalog数据库备份全库 1.2.1配置到远程数据库的TNS 1.2.2创建表空间及设置用户 1.2.3 ...