救救我吧!!为什么引入了jar包却出NoClassDefFoundError

dongxingman 2011-07-11 05:13:31
出错信息:
2011-7-11 17:04:02 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NoClassDefFoundError: org/apache/el/ExpressionFactoryImpl
at org.apache.jasper.compiler.JspUtil.<clinit>(JspUtil.java:68)
at org.apache.jasper.JspCompilationContext.getServletClassName(JspCompilationContext.java:374)
at org.apache.jasper.JspCompilationContext.getClassFileName(JspCompilationContext.java:514)
at org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:445)
at org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:392)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:326)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.ieslab.eim.login.service.AccessFilter.doFilter(AccessFilter.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.ieslab.eim.common.filter.SetCharEncodingFilter.doFilter(SetCharEncodingFilter.java:17)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)

在网上查的事jasper.jar 中没有ExpressionFactoryImpl.class文件。需要把jasper-el.jar和jasper-jdt.jar引入。我把他们都引入了,怎么还出这个错误呢。我用的是eclipse Helios Release 和tomcat 6.0。我把jasper-el.jar 解压了发现里面明明有ExpressionFactoryImpl.class文件。有没有高手知道怎么办啊?
...全文
177 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
codolio 2011-07-11
(1)确定加载了需要的JAR包
(2)确认一下JAR的版本是否兼容
回复
dongxingman 2011-07-11
都需要导入那些包啊?[Quote=引用 1 楼 zhuchao_ko 的回复:]
因为这个类 还继承、实现了其它相关的JAR里的类

就是你导的JAR不全。
[/Quote]
回复
dongxingman 2011-07-11
确实都在[Quote=引用 6 楼 lrbyantai 的回复:]
jasper.jar
jasper-el.jar
jasper-jdt.jar
jsp-api.jar
servlet-api.jar
el-api.jar

你确定这几个jar包都在tomcat的lib目录下?
[/Quote]
回复
dongxingman 2011-07-11
怎么才能确定包被加载了?[Quote=引用 3 楼 fx_fly 的回复:]
确定你导入的包被加载了,或者相关的包都全
[/Quote]
回复
蛋黄车 2011-07-11
jasper.jar
jasper-el.jar
jasper-jdt.jar
jsp-api.jar
servlet-api.jar
el-api.jar

你确定这几个jar包都在tomcat的lib目录下?
回复
dongxingman 2011-07-11
[Quote=引用 2 楼 lrbyantai 的回复:]
你需要放到tomcat的lib目录下
[/Quote]它们本来就是tomcat的lib里的包啊
回复
a549324766 2011-07-11
导包这样的问题其实烦人,其实可以建立自己的包,将自己用到的包都放到自己的包中,然后在导入。
回复
fx_fly 2011-07-11
确定你导入的包被加载了,或者相关的包都全
回复
蛋黄车 2011-07-11
你需要放到tomcat的lib目录下
回复
超蝈儿 2011-07-11
因为这个类 还继承、实现了其它相关的JAR里的类

就是你导的JAR不全。
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2011-07-11 05:13
社区公告
暂无公告