核心提示:
have different Class objects for the type javax/el/ExpressionFactory used in the signature
詳細錯誤:
exception javax.servlet.ServletException: java.lang.LinkageError:
loader constraint violation: when resolving interface method
"javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;"
the class loader (instance of org/apache/jasper/servlet/JasperLoader)
of the current class, org/apache/jsp/OnDuty/wfmanage_jsp, and the class
loader (instance of org/apache/catalina/loader/StandardClassLoader) for
resolved class, javax/servlet/jsp/JspApplicationContext, have different
Class objects for the type javax/el/ExpressionFactory used in the
signature
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:275)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.LinkageError: loader constraint violation: when
resolving interface method
"javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;"
the class loader (instance of org/apache/jasper/servlet/JasperLoader)
of the current class, org/apache/jsp/OnDuty/wfmanage_jsp, and the class
loader (instance of org/apache/catalina/loader/StandardClassLoader) for
resolved class, javax/servlet/jsp/JspApplicationContext, have different
Class objects for the type javax/el/ExpressionFactory used in the
signature
org.apache.jsp.OnDuty.wfmanage_jsp._jspInit(wfmanage_jsp.java:27)
org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
原因是項目中WEB-INF/lib中的三個jar包(juel.jar, juel-engine.jar,
juel-impl.jar)和tomcat6下lib中jar包(el-api.jar)衝突解決方案:方法一:換成tomcat5.5
一點問題也沒有了方法二:將juel.jar, juel-engine.jar,
juel-impl.jar這三個包複製到tomcat6下lib中,並刪除原來的el-api.jar,切記要把WEB-INF/lib中的
juel.jar, juel-engine.jar, juel-impl.jar刪除。不然還是要衝突。