`
JavaCrazyer
  • 浏览: 3012119 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类

JBPM日常报错处理解决方案

阅读更多

部署JBPM在WEB项目时,会发现多么容易的JSP页面竟然会出现servlet的错误,

严重: Servlet.service() for servlet jsp threw exception
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:26)
    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:337)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    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:175)
    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:844)
    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(Unknown Source)

 

其实这里是jbpm内的三个包juel.jar ,juel-engine.jar,juel-impl.jar 与tomcat里面的lib目录下的el-api.jar发生冲突,解决方案是将这三个包移除就OK。

不过如果把这三个包删除,如果在其他地方还需要使用到这三个包呢,要这三个包那么只能删出tomcat里面那个el-api.jar了,那么这时仍然会报错

  

严重: Servlet.service() for servlet LeaveServlet threw exception
java.lang.ClassNotFoundException: de.odysseus.el.util.SimpleResolver
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at org.jbpm.pvm.internal.script.JuelScriptEngineFactory.getScriptEngine(JuelScriptEngineFactory.java:185)
    at javax.script.ScriptEngineManager.getEngineByName(Unknown Source)
    at org.jbpm.pvm.internal.script.ScriptManager.evaluate(ScriptManager.java:111)
    at org.jbpm.pvm.internal.script.ScriptManager.evaluateExpression(ScriptManager.java:90)
    at org.jbpm.pvm.internal.model.ExecutionImpl.resolveAssignmentExpression(ExecutionImpl.java:772)
    at org.jbpm.pvm.internal.model.ExecutionImpl.initializeAssignments(ExecutionImpl.java:726)
    at org.jbpm.jpdl.internal.activity.TaskActivity.execute(TaskActivity.java:95)
    at org.jbpm.jpdl.internal.activity.TaskActivity.execute(TaskActivity.java:58)
    at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(ExecuteActivity.java:60)
    at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:656)
    at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(ExecutionImpl.java:616)
    at org.jbpm.pvm.internal.model.ExecutionImpl.start(ExecutionImpl.java:217)
    at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:65)
    at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:38)
    at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
    at org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:54)
    at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
    at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
    at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
    at org.jbpm.pvm.internal.svc.SkipInterceptor.execute(SkipInterceptor.java:43)
    at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.startProcessInstanceByKey(ExecutionServiceImpl.java:66)
    at cn.yu.qingjiaServlet.LeaveServlet.leave(LeaveServlet.java:151)
    at cn.yu.qingjiaServlet.LeaveServlet.process(LeaveServlet.java:80)
    at cn.yu.qingjiaServlet.LeaveServlet.doGet(LeaveServlet.java:60)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at cn.yu.qingjiaServlet.SetCharaterEncodingFilter.doFilter(SetCharaterEncodingFilter.java:26)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    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:175)
    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:844)
    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(Unknown Source)

 

最佳解决方案就是剪切那三个包到tomcat的lib目录下,不用删除el-api.jar

分享到:
评论

相关推荐

    JBoss jBPM

    JBoss jBPM 是一个复杂的可扩展的工作流管理系统. JBoss jBPM 有直观的流程语言来表示商业流程图的术语比如,任务,异步通讯的等待状态,定时器,自动操作等等.把这些操作绑在一起,, JBoss jBPM 就有了最强大和易扩展性...

    使用JBoss ESB和JBPM实现垂直市场解决方案VMS

    直市场解决方案(VMS)是NAVTEQ公司中的一个机构,负责为客户提供定制的解决方案,包括移动门户和导航系统。这些解决方案中包含了NAVTEQ 公司提供的服务以及第三方服务,以客户要求的方式交付组合服务和内容,这些...

    JBPM4.4完整可用审批流程

    JBPM4.4是JBoss Business Process Management (BPM)平台的一个版本,它是一个开源的企业级BPM解决方案,用于设计、执行和管理业务...因此,这个资源对于学习和使用JBPM4.4,特别是处理报错和调试,将是非常有价值的。

    jbpm4.3常见问题解决

    jBPM(Java Business Process Management)是一个开源的工作流和业务流程管理系统,主要用于处理企业的业务流程自动化。jBPM 4.3是该系统的早期版本,虽然现在可能已经被更新的版本取代,但其仍然包含了许多核心的...

    jbpm4jbpm5

    jbpm应用开发指面(胡奇).pdf可能是胡奇专家对jbpm应用开发的实践经验分享,可能包含了最佳实践、常见问题解决方案和案例研究。开发者可以从中学到如何在实际项目中有效地运用jbpm,以及如何解决开发过程中遇到的...

    jbpm4.3问题解决

    2. **查阅文档**:参考官方文档或社区资源,寻找类似问题的解决方案。 3. **调试代码**:如果问题涉及自定义服务任务或监听器,可以通过IDE进行断点调试。 4. **日志分析**:查看jbpm和Tomcat的错误日志,查找异常...

    jbpm4.3 中文乱码解决

    jbpm4.3插件,解决中文乱码,主要修改org.jboss.tools.flow.jpdl4_4.3.0.v201007071649.jar中的JbpmLocationsPage 和 org.jboss.tools.jbpm.common_4.3.0.v201007071649.jar 中的JpdlSerializer和ProcessSerializer

    jbpm-3.1.2.zip_jbpm_jbpm 3.1.2_jbpm-3.1.2.rar_jbpm3.1.2_工作流

    jbpm-3.1.2.zip 文件包含了 jBpm 的一个重要版本——jBpm 3.1.2,这是一个开源的工作流管理系统,专为构建灵活且可扩展的业务流程解决方案而设计。jBpm 提供了一种方式,使得开发者能够用简单而强大的语言来表达业务...

    jbpm简介\jbpm简介

    jBPM的核心设计理念是灵活性与可扩展性,其目标是在不同的业务环境中为用户提供高效、稳定的流程管理解决方案。 #### 二、选择jBPM的十大理由 1. **嵌入式的工作流引擎**:jBPM采用嵌入式设计,这意味着它可以作为...

    jbpm连接mysql数据库的实例以及问题解决方案

    以下是一些常见问题的解决方案: 1. **权限问题**:如果遇到权限错误,检查MySQL用户是否有创建表和读写数据的权限。 2. **时区问题**:如果你看到与时区相关的错误,尝试在URL中添加`serverTimezone=UTC`参数,...

    jBPM3.2.rar_JBPM3.2_jbpm_jbpm 3.2_jbpm3_jbpm3.2教程

    jbPM 3.2是该系统的一个版本,它提供了丰富的功能,包括流程设计、执行、监控以及优化,为企业构建灵活且可扩展的业务流程解决方案。 ### 一、jbPM 3.2 环境配置 在开始jbPM 3.2的开发之前,你需要配置好相应的...

    jBPM4.4.rar_jbpm4.4_jbpm4.4 PDF

    jBPM,全称Java Business Process Management,是一个用于执行业务流程的轻量级、灵活的开源框架,它为业务流程管理提供了一整套解决方案。 在《jBPM4.4开发指南》中,开发者可以了解到jBPM4.4的核心功能和设计原理...

    jbpm白皮书 介绍jbpm 入门

    ### jBPM 白皮书:介绍 ...总之,jBPM 作为一款强大的开源 BPM 框架,为企业提供了一个低成本、高灵活性的解决方案,帮助企业实现业务流程管理的现代化。随着 BPM 技术的发展和完善,jBPM 必将在更多领域发挥重要作用。

    jbpm jbpm4.3.jar

    jbpm jbpm4.3.jar DDDDDDDD

    JBPM5工作流引擎 S2SH+JBPM4.4开发工作流的一个完整的请假流程例子

    JBPM5工作流引擎 S2SH+JBPM4.4开发工作流的一个完整的请假流程例子。带有文档教程和所有源码+JAR包。在网上找了半天jbpm6\jbpm7的资料,都很少。所以 环境:Myeclipse2015 JDK1.7 mysql 5.0 Struts2+Spring3.1 1...

    jbpm

    总的来说,jbpm是企业级流程管理的强大工具,与Struts2的整合可以为企业提供一个灵活且可扩展的业务流程解决方案。通过深入研究提供的源码和相关工具,开发者不仅可以提升自己的技能,还能在实际项目中实现高效的...

    jbpm jbpm3 jbpm4 用户和开发指南+教程+最佳实践全套

    "jBPM Developers Guide.txt"和"jBPM User Guide.txt"分别可能是开发者指南和用户指南的文本形式,分别针对开发者和最终用户,提供了使用jbpm进行流程开发和日常操作的详细步骤。 "jbpm解读.txt"可能是一篇或一系列...

    jbpm学习资料,jbpm教程

    jbpm(Java Business Process Management)是一款开源的工作流管理系统,它为业务流程自动化提供了一套全面的解决方案。jbpm不仅支持工作流的建模、执行,还提供了监控和管理功能,使得开发者可以方便地构建和部署...

    JBPM教学课件PPT

    它集成了业务规则、事件处理和工作流,为企业的业务流程自动化提供了全面的解决方案。 一、JBPM概述 JBPM的核心功能包括流程建模、执行和监控。其采用BPMN2.0(Business Process Modeling Notation)标准,使得业务...

Global site tag (gtag.js) - Google Analytics