冷雨在线
EasyJWEB,JavaScript,Spring,JPA,MySql
半路出家,现在混JAVA.
我的首页
文章
相册
圈子
留言
管理
 
    当前所在页面:首页>>文章>>Struts2小实例启动报错的问题
Struts2小实例启动报错的问题
    作者:小雨 来源: 发表时间:2008-08-24

 
 

      开发环境:eclipse 3.4+struts2.0.11.2+tomcat6.0.18+jdk1.6,从网下载了一个Struts2的小实例,代码结构很简单,基本可以说就是一个注册系统.但在把源代码导入到Eclipse中以项目的方式加载时,启动Eclipse插件Tomcat6.则报大量的出错信息,比如:

 

  1. 严重: Exception starting filter struts2
  2. Unable to load bean: type:org.apache.struts2.components.template.TemplateEngine class:org.apache.struts2.components.template.JspTemplateEngine - bean - jar:file:/home/maowei/meybosoft/Struts2/src/main/webapp/WEB-INF/lib/struts2-core-2.0.11.2.jar!/struts-default.xml:56:150
  3.     at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:208)
  4.     at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
  5.     at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:131)
  6.     at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
  7.     at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
  8.     at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
  9.     at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
  10.     at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
  11.     at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
  12.     at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
  13.     at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
  14.     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
  15.     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
  16.     at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
  17.     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
  18.     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
  19.     at org.apache.catalina.core.StandardService.start(StandardService.java:516)
  20.     at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
  21.     at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
  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:288)
  27.     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
  28. Caused by: java.lang.NoClassDefFoundError: javax/servlet/jsp/JspWriter
  29.     at java.lang.Class.getDeclaredConstructors0(Native Method)
  30.     at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
  31.     at java.lang.Class.getDeclaredConstructors(Class.java:1836)
  32.     at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:198)
  33.     ... 24 more
  34. Caused by: java.lang.ClassNotFoundException: javax.servlet.jsp.JspWriter
  35.     at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
  36.     at java.security.AccessController.doPrivileged(Native Method)
  37.     at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
  38.     at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
  39.     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
  40.     at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
  41.     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
  42.     ... 28 more

      于是Google了一下,网上有很多朋友在学习Struts2的时候从Eclipse中启动项目也会报这样的错误,但都是没有看解决问题的回复或莫名其妙的解决了.有的朋友说是相应的JAR包没有导入,有的朋友也说是由于启动后没有加载到文件.还有人说是TOMCAT版本低了的原因,但因为我这只是一个小的实例,认真检查过,项目的配置信息是完全没有错的,并且classpath中也可以看出相应需要的包都是导入了进来,并且TOMCAT版本都是最新稳定版本,但不管在Eclipse中怎么折腾,项目还是无法启动,于是就试着在外部环境下用Tomcat6独立程序启动,,.....居然一则正常,打开浏览器运行实例一切正常.可见实例的源代码与配置信息是没有错误的.那最终问题是出在什么地方呢?

      经过无数次的折腾,原来是EclipseTomat插件的配置有误,其实也很简单的一个问题,把如下图所示的勾千万不能勾上,启动是报错的凶手就是它了,但最根本的原因我还是没有明白,因为我的其它项目启动时又必须要勾上才能启动,并且以前在开发项目是也是需要勾上才表示Tomcat用于启动这个项目,可为什么这个小实例反而相反呢????


 
 

(阅读 )   评论数(:15)
评论】 【收藏】
评论:共15条
sadfasd
评论人: asdf     评论时间: 2008-08-26 13:16:32
这都被你发现了! 厉害
评论人: 匿名用户     评论时间: 2008-11-26 21:27:20
这都被你发现了 厉害!
评论人: luckalway     评论时间: 2008-11-26 21:28:00
不是说,有图吗?
图呢?
评论人: 晕     评论时间: 2008-12-07 15:30:43
学习啦
评论人: hehe     评论时间: 2009-03-19 09:07:43
太感谢了
评论人: 匿名用户     评论时间: 2009-08-29 15:07:07
<script>alert("SS");</script>
评论人: 匿名用户     评论时间: 2009-11-01 20:13:21
不错,为了这,我痛苦死了
评论人: fangtianpei     评论时间: 2009-11-11 09:55:55
谢谢楼主的指点
评论人: DL     评论时间: 2010-01-05 16:01:54
可能和系统struts2冲突了的原因
评论人: baird     评论时间: 2011-04-12 10:54:57
Action rqeuries knowledge, and now I can act!
评论人: BdrwGTEvmlhVxzoIvx     评论时间: 2012-01-03 23:45:17
HByEPi  <a href="http://ozjmzjoentkx.com/">ozjmzjoentkx</a>
评论人: KXlHrcEw     评论时间: 2012-01-04 17:07:46
c80iK5 , [url=http://lueivmsembcq.com/]lueivmsembcq[/url], [link=http://rsvvrmgehnnq.com/]rsvvrmgehnnq[/link], http://kuoddzwbrdzf.com/
评论人: xQFbYqHeaU     评论时间: 2012-01-04 21:28:32
5IBZTv  <a href="http://ubtjddkoamvr.com/">ubtjddkoamvr</a>
评论人: igbMluBkoFVfS     评论时间: 2012-01-06 20:59:23
3g7Ux0 , [url=http://plcxekacgfhb.com/]plcxekacgfhb[/url], [link=http://nverypnqogrv.com/]nverypnqogrv[/link], http://frcyjslyvnks.com/
评论人: IZMlVZCVzIIawef     评论时间: 2012-01-07 00:48:26

发表评论:
发表人:
评论: 
验证码:
请输入前面图中的四位验证码,字母不区分大小写
  
 
关于我们 | 诚聘英才 | 联系我们 | 广告业务 | 网站地图 | 法律声明

EasyJF开源团队版权所有  建议使用1024*768分辨率