7

我今天重新启动了 httpd 和 tomcat 服务,并且在这样做之后。我收到了以下消息。

我看到了这个线程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.
4

2 回答 2

7

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

el-api-2.2.jar // jar version could differ
el-impl-2.2.jar
于 2013-06-26T08:15:30.993 回答
0

我今天在 Tomcat 9.0.21 上遇到了同样的错误

并根据这个错误 - https://bz.apache.org/bugzilla/show_bug.cgi?id=64097

这是“el-api.jar”的已知错误,已在以下版本中修复

固定在:

  • 10.0.0.0-M1 及以后的主机
  • 从 9.0.31 开始的 9.0.x
  • 从 8.5.51 开始的 8.5.x
  • 从 7.0.100 开始的 7.0.x

解决方案:- 您可以将 tomcat 升级到这些版本,或者只是从较新的 tomcat(已修复)的 lib 文件夹中引入“el-api.jar”,将其放在您的 lib 文件夹中并重新启动 tomcat。它会起作用的。

于 2021-01-07T06:49:34.870 回答