jbpm4.3整合web工程时异常解决方案

jbpm4.3整合web工程时异常解决方案
近期刚开始接触jbpm,在整合web工程时遇到一异常,特有意思。记录下来,以免更多人少走弯路。
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
    at org.apache.jsp.index_jsp._jspInit(index_jsp.java:
30 )
    at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:
52 )
    at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:
159 )
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:
329 )
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
342 )
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:
267 )
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:
717 )
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
290 )
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
206 )
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
233 )
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
191 )
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
128 )
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
102 )
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109 )
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
286 )
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
845 )
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:
583 )
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
447 )
    at java.lang.Thread.run(Thread.java:
619 )
从异常信息不难看出,是web容器 tomcat解析jsp页面时jar包冲突。
仔细查看jbpm4.3 lib目录下的jar包我们不难发现,罪魁祸首为juel.jar和juel-impl.jar
很显然原因就出在这两个jar包身上,从名字上不难发现juel-impl是前者的实现,因此这里采取的措施是保留juel-impl.jar删除juel.jar
重启tomcat,刷新web页面。问题迎刃而解。
刚开始接触jbpm,前阵子看了一下jbpm3的api,后来看了看jbpm4的API发现之间相差很大。小弟刚开始接触jbpm,希望达人指点。

你可能感兴趣的:(jbpm4.3整合web工程时异常解决方案)