HTTP状态500 - java.lang.NoClassDefFoundError:无法初始化类org.apache.



当我尝试在我的eclipse上浏览"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)

您正在尝试在Jetty服务器上运行Web应用程序吗?错误NoClassDefFoundError表示您没有运行该代码所需的jar文件。

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

org.apache.jasper.el。ELContextImpl不能强制转换为org.apache.jasper.runtime.ELContextImpl

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

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

或在eclipse的help -> Market ->下输入'jetty'或'jetty plugin',然后下载run-jetty-run plugin

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

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

这个问题是由于冲突的jar。

请从

中删除上述jar文件
  1. java/jdk(version)/jre/lib/ext
  2. 同时从你的web应用程序库目录中删除上述jar。

相关内容

  • 没有找到相关文章

最新更新