2

当我尝试在 myeclipse 上浏览“localhost:8080”时,出现以下错误:

type Exception report

message java.lang.NoClassDefFoundError: Could not initialize class org.apache.jasper.el.ELContextImpl

description The server encountered an internal error that prevented it from fulfilling this request.

exception 

javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class org.apache.jasper.el.ELContextImpl
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:343)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)


root cause 

java.lang.NoClassDefFoundError: Could not initialize class org.apache.jasper.el.ELContextImpl
    org.apache.jasper.compiler.Validator$ValidateVisitor.prepareExpression(Validator.java:1568)
    org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:747)
    org.apache.jasper.compiler.Node$ELExpression.accept(Node.java:954)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
    org.apache.jasper.compiler.Node$Root.accept(Node.java:475)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
    org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1795)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
4

3 回答 3

1

您是否尝试在 Jetty 服务器上运行 Web 应用程序?NoClassDefFoundError 错误意味着您没有运行该代码所需的 jar 文件。

这是关于同一问题的stackoverflow问题。

org.apache.jasper.el.E​​LContextImpl 不能转换为 org.apache.jasper.runtime.ELContextImpl

如果您使用的是 Eclipse IDE,我建议您下载 Eclipse Jetty 插件

https://code.google.com/p/run-jetty-run/

或在帮助下的 Eclipse -> 市场 -> 输入 'jetty' 或 'jetty plugin' 然后下载 run-jetty-run 插件

于 2013-05-18T14:24:34.147 回答
0

我在尝试访问时遇到了类似的问题localhost:8080。发生这种情况是因为 tomcat 能够检测到超过 1 个 jasper.jar jsp-api,jasper-el 的副本。

问题是由于罐子冲突造成的。

请从

  1. java/jdk(version)/jre/lib/ext
  2. 还要从您的 Web 应用程序 lib 目录中删除上述 jar。

重新启动tomcat,它会正常工作。

于 2016-03-31T18:57:20.070 回答
0

在eclipse中,当开发Web应用程序时出现HTTP状态500 - java.lang.NoClassDefFoundError 无论是tomcat还是jetty等,请确保将所需的.jar文件放在WEB-INF文件夹下的lib文件夹中(/WEB-INF/lib ) 解决错误

于 2015-10-08T01:07:29.720 回答