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发现之间相差很大。

posted @ 2010-08-17 12:25  aishang  阅读(341)  评论(0编辑  收藏  举报