Tomcat 7 javax.el.ELException

Tomcat 7 javax.el.ELException,java,tomcat,centos,Java,Tomcat,Centos,我今天重新启动了httpd和tomcat服务,之后又重新启动了。我收到了以下信息 我看到了这根线 照他们说的做。我检查过了,el-api.jar就在那里。我检查了另一台服务器,tomcat也运行得很好 服务器是Centos 6.4(最终版)和Tomcat 7.0.23 我尝试了所有的方法,甚至替换了jar文件,但似乎没有任何效果 type Exception report message description The server encountered an internal error

我今天重新启动了httpd和tomcat服务,之后又重新启动了。我收到了以下信息

我看到了这根线

照他们说的做。我检查过了,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.

请确保您在
${TOMCAT_HOME}/lib

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

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

根据这个错误-

这是“elapi.jar”中的一个已知错误,已在以下版本中修复

固定在:

  • 10.0.0.0-M1以后的主机
  • 9.0.x适用于9.0.31以后的版本
  • 8.5.51之后的8.5.x
  • 7.0.100之后的7.0.x
解决方案:-您可以将tomcat升级到这些版本,或者只需从较新tomcat的lib文件夹(具有修复程序)中取出“elapi.jar”,将其放入lib文件夹并重新启动tomcat。
它可以工作。

el-jar的版本是什么?它没有版本。它只是el-api.jar。它正在使用同一jar文件在另一台服务器上工作。有人有其他建议吗?我试过了,它现在给我这个错误。接受的答案有帮助吗?您需要验证应用程序的
/WEB-INF/lib
目录中没有任何服务器提供的JAR。没有。我确保删除了原来的el-api.jar。仍然得到了相同的误差。我认为这是由于ep api和el imp相互冲突造成的。你把罐子放在哪里。在应用程序的lib文件夹或tomcat的lib目录中?tomcat lib。我在tomcat的主页上看到了他的错误。例如