把JBPM部署到tomcat6下的時候報(bào)出如下異常:
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/index_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.index_jsp._jspInit(index_jsp.java:23) 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) org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:88) org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 原因是項(xiàng)目中WEB-INF\lib中的三個jar包(juel.jar, juel-engine.jar, juel-impl.jar)和
tomcat6下lib中jar包(el-api.jar)沖突
解決方法:
方法一:換成tomcat5.5 一點(diǎn)問題也沒有了
方法二:將juel.jar, juel-engine.jar, juel-impl.jar這三個包復(fù)制到tomcat6下lib中,
并刪除原來的el-api.jar,切記要把WEB-INF\lib中的juel.jar, juel-engine.jar, juel-impl.jar刪除。
不然還是要沖突。