Reputation: 87
I restarted the httpd and tomcat service today, and after doing so. I was greeted with the following message.
I saw this thread http://www.coderanch.com/t/592922/Tomcat/enable-el-api-jar-ver
And did as they told. I checked, and the el-api.jar is there. I checked another server, and tomcat is running great with it as well.
The server is a Centos 6.4 (final) and Tomcat 7.0.23.
I tried everything, even replacing the jar files, but nothing seems to work.
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.
Upvotes: 7
Views: 15373
Reputation: 41
I got the same error today on Tomcat 9.0.21
and as per this bug - https://bz.apache.org/bugzilla/show_bug.cgi?id=64097
It is a known bug with "el-api.jar" and has been fixed in following versions
Fixed in:
Solution :- You can upgrade tomcat to these versions or just bring over the "el-api.jar" from the lib folder of a newer tomcat (which has the fix), place it in your lib folder and restart tomcat. It would work.
Upvotes: 0
Reputation: 51711
Please, make sure you have both these jars at ${TOMCAT_HOME}/lib
el-api-2.2.jar // jar version could differ
el-impl-2.2.jar
Upvotes: 7