2013-05-18 55 views
1

當我試圖瀏覽 「本地主機:8080」 在MyEclipse中,我得到以下錯誤:HTTP狀態500 - java.lang.NoClassDefFoundError:無法初始化類org.apache.jasper.el.E​​LContextImpl

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) 

回答

1

您是否試圖在Jetty服務器上運行Web應用程序?錯誤NoClassDefFoundError意味着您沒有運行該代碼所需的jar文件。

這是關於同一問題的計算器問題。

org.apache.jasper.el.ELContextImpl cannot be cast to org.apache.jasper.runtime.ELContextImpl

如果您使用的是Eclipse IDE,我建議你下載Eclipse Jetty的插件

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

或下幫助你的eclipse - >市場 - >輸入「碼頭'或'jetty插件',然後下載run-jetty-run插件

+0

標籤說它的Tomcat。 –

+0

謝謝,我將el-api.jar複製到目錄「。\ jre \ lib \ ext」中。當我刪除.jar時,沒有錯誤報告。 –

0

在eclipse中有HTTP狀態500 - java.lang.NoClassDefFoundError在開發web應用程序時是否使用tomcat或jetty etc。請確保將所需的.jar文件放在WEB-INF文件夾(/ WEB-INF/lib)下的lib文件夾中以解決錯誤

0

我在嘗試訪問localhost:8080時遇到類似問題。 這是因爲tomcat能夠檢測到超過1個jasper.jar的副本 jsp-api,jasper-el。

這個問題是由於罐子衝突。

請從

  1. java/jdk(version)/jre/lib/ext
  2. 除去上述罐子也從Web應用程序的lib目錄中刪除上述罐子。

重新啓動tomcat,它會正常工作。

相關問題