2013-06-26 36 views
7

我今天重新启动了httpd和tomcat服务,之后这样做。我收到以下消息。Tomcat 7 javax.el.E​​LException

我看到这个线程http://www.coderanch.com/t/592922/Tomcat/enable-el-api-jar-ver

并没有因为他们告诉。我检查了一下,el-api.jar在那里。我查了另一台服务器,而且tomcat也运行良好。

该服务器是一个Centos 6.4(最终)和Tomcat 7.0.23。

我尝试了一切,甚至替换了jar文件,但似乎没有任何工作。

type Exception report 

message 

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

exception 

org.apache.jasper.JasperException: javax.el.ELException: Provider com.sun.el.ExpressionFactoryImpl not found 
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:585) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:396) 
    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:722) 
root cause 

javax.el.ELException: Provider com.sun.el.ExpressionFactoryImpl not found 
    javax.el.FactoryFinder.newInstance(FactoryFinder.java:101) 
    javax.el.FactoryFinder.find(FactoryFinder.java:197) 
    javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:189) 
    javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:160) 
    org.apache.jasper.runtime.JspApplicationContextImpl.getExpressionFactory(JspApplicationContextImpl.java:108) 
    org.apache.jsp.index_jsp._jspInit(index_jsp.java:31) 
    org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:49) 
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:180) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) 
    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:722) 
root cause 

java.lang.ClassNotFoundException: com.sun.el.ExpressionFactoryImpl 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688) 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533) 
    javax.el.FactoryFinder.newInstance(FactoryFinder.java:87) 
    javax.el.FactoryFinder.find(FactoryFinder.java:197) 
    javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:189) 
    javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:160) 
    org.apache.jasper.runtime.JspApplicationContextImpl.getExpressionFactory(JspApplicationContextImpl.java:108) 
    org.apache.jsp.index_jsp._jspInit(index_jsp.java:31) 
    org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:49) 
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:180) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) 
    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:722) 
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.23 logs. 
+0

什么是EL罐子的版本? – NINCOMPOOP

+0

它没有版本。这只是el-api.jar。它使用相同的jar文件在另一台服务器上工作。 –

+0

任何人有任何其他建议? –

回答

7

请确保您有这两个罐子在${TOMCAT_HOME}/lib

el-api-2.2.jar // jar version could differ 
el-impl-2.2.jar 
+1

我试过了,它现在给了我这个错误。 http://stackoverflow.com/questions/8487048/java-lang-linkageerror-javax-servlet-jsp-jspapplicationcontext-getexpressionfac –

+0

接受的答案是否有帮助?您需要验证您的应用程序的“/ WEB-INF/lib”目录中没有任何服务器提供的jar。 –

+0

不,它不。我确信我删除了原来的el-api.jar。仍然会得到同样的错误。我认为这是由ep-api和el-imp相互冲突引起的。 –

相关问题