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

摘要:
最近,创建了一个新的JSF项目(Struts在互联网上,SpringMVC也是如此)。配置后,当Tomcat与Eclipse一起启动时,报告了以下错误:严重错误:ErrorloadingWebappClassLoadercontext:/jsf2nddelegate:falseservages:/WEB-INF/classes/--------˃ParentClassloader:org.apache。c

最近新建了一个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.pluginsorg.eclipse.wst.server.core mp3wtpwebappsjsf2nd WEB-INFlib,发现果然少了两个jar包,将之放入后问题就解决了。

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

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

免责声明:文章转载自《解决Eclipse启动Tomcat时报Error loading WebappClassLoader错误》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇AIX 5L 系统管理技术 —— 存储管理——卷组VMware虚拟机安装CentOS7网络设置 ping www.baidu.com 报name or service not known。下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Tomcat 03: 常见问题排查

列罗出了Tomcat常见的问题,如不能启动,屏幕一闪而过,启动之后,访问总是出现404等等常见问题。以下排查手段都是针对通过startup.bat 独立方式启动的Tomcat,集成开发环境IDE(IDEA,ECLIPSE,MYECLIPSE等) 下的Tomcat启动不在此知识点讨论范围之内。 步骤 1 : JAVA_HOME   步骤 2 : CATALIN...

Tomcat下载和安装

一.Tomcat下载和安装 Tomcat 是一个免费的开放源代码的 Servlet 容器,它是 Apache 软件基金会的一个顶级项目,由 Apache,Sun和其他一些公司及个人共同开发而成。由于有了 Sun 的参与与支持,最新的 Servlet 和 JSP 规范总是能在 Tomcat 中的到体现。 1.下载tomcat 官方网站:http://tomc...

node程序的部署神器pm2的基本使用

pm2是从nodejs衍生出来的服务器进程管理工具,可以做到开机就启动nodejs。当然了,也可以用nohup来做这件事情的。 前言 众所周知,Node.js运行在Chrome的JavaScript运行时平台上,我们把该平台优雅地称之为V8引擎。不论是V8引擎,还是之后的Node.js,都是以单线程的方式运行的,因此,在多核心处理器的系统中并不能发挥其最大...

eclipse 修改workspace路径

首次启动Eclipse时, 会弹出"Workspace Launcher"对话框, 提示设置Workspace路径. 设定好路径后, 倘若勾选了"Use this as the default and do not ask again", 那么以后再启动时就不会有提示, 直接进入默认工作空间. 下面的方法可以更改workspace的路径设置. 1. 启动E...

linux设置tomcat开机启动

[root@iZ94j7ahvuvZ ~]# cd /etc/rc.d/ [root@iZ94j7ahvuvZ rc.d]# cat rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your...

双击启动tomcat中的startup.bat闪退原因及解决方法

免安装的tomcat双击startup.bat后,启动窗口一闪而过,而且tomcat服务未启动,下面与大家分享下原因及解决方法 免安装的tomcat双击startup.bat后,启动窗口一闪而过,而且tomcat服务未启动。 原因是:在启动tomcat是,需要读取环境变量和配置信息,缺少了这些信息,就不能登记环境变量,导致了tomcat的闪退。 解决办法...