一、org.apache.jasper.JasperException: Unable to compile class for JSP解决方法
org.apache.jasper.JasperException: Unable to compile class for JSP:
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:435)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803
解决办法:将jbpm的所有jar包放到项目的lib目录下而不是通过Add External JARs添加,具体原因不明白!
二、JBPM4项目和tomcat6.0的兼容问题
基于JBPM4的web项目jsp页面发布出错,错误如下:
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删除。不然还是要冲突。
分享到:
相关推荐
以下是一些jbpm的关键知识点: 1. **BPMN 2.0支持**:jbpm支持Business Process Model and Notation 2.0,这是一种国际标准,用于业务流程的建模。通过BPMN,开发者可以创建复杂的工作流图,包括任务、事件、网关等...
下面将详细讨论在JBPM4中遇到的一些常见异常及其解决方法。 1. `org.jbpm.api.JbpmException: database was not clean after test`: 这个异常通常出现在单元测试环境中,原因是测试过程中流程未完成,但尝试删除...
它使得业务分析师和开发人员能够使用相同的术语进行交流,从而避免了需求到设计的转化过程中的错误。 2. **业务流程管理**:jBPM提高了业务流程管理的效率,使得流程可以根据业务需求进行重新设计。此外,jBPM支持...
8. **示例与最佳实践**:提供一系列示例流程,帮助读者更好地理解jbpm的实际应用,并给出一些最佳实践建议。 《jbpm-jpdl.pdf》文件可能是关于JPDL更深入的参考资料,可能包括JPDL的高级特性和复杂用法,例如事件...
8. **事件处理**:jbpm4增加了对流程事件的支持,如错误、信号和消息事件,增强了流程的响应能力和错误恢复能力。 通过阅读《jbpm中文指南》,开发者可以深入了解这两个版本的差异,以及如何在实际项目中选择和应用...
10. **事件处理**:jbpm4.4支持事件驱动的流程,如错误处理、超时等,增强了流程的灵活性和适应性。 特别地,手册中提到的分栏布局设计,意味着你可以通过目录快速导航到所需内容,提高了阅读和查找效率。"My...
4. **规则集成**:jbpm4.3集成了Drools规则引擎,允许在流程中嵌入决策逻辑。通过Drools,开发者可以编写复杂的业务规则,并在流程执行时动态应用这些规则。 5. **事件处理**:系统能够监听并响应各种事件,如流程...
5. **事件处理**: 支持流程中的事件触发和处理,比如错误事件、信号事件等,增强了流程的灵活性和响应性。 6. **规则集成**: jbpm4.4可以与Drools规则引擎结合,实现业务规则在流程执行过程中的动态应用,提升决策...
"JBPM最佳实践.txt"则可能包含了一系列在实际项目中运用jbpm时的最佳实践建议,如性能优化、流程设计原则、错误处理策略等,旨在帮助开发者避免常见问题,提升项目的质量和效率。 通过这些文档,学习者可以全面了解...
在jBPM-jPDL学习笔记中,你将了解到以下关键知识点: 1. **流程定义**:jPDL通过流程图中的节点(如开始节点、结束节点、任务节点、事件节点等)来描述流程的结构。这些节点之间的连线代表了流程的流转路径。 2. *...
6. **事件处理**:jBPM支持事件驱动的流程设计,如错误事件、信号事件等,使得流程可以根据特定条件或外部事件进行响应。 7. **集成能力**:jBPM可以轻松地与Spring、Hibernate、JPA等Java框架集成,同时提供了...
- **异常处理**:提供了一套机制来处理流程执行过程中可能出现的错误或异常情况。 ### 安装与配置 - **环境准备**:首先需要确保系统满足最低硬件和软件要求。 - **安装过程**:通常包括下载源码包、编译并打包成可...
本篇主要针对jbpm4.3使用过程中遇到的问题及其解决方法进行详细阐述。 首先,我们来看"jbpm4_3表结构和表字段说明 - gamestart104的专栏 - 博客频道 - CSDN_NET.htm"这个文件,这通常包含了jbpm4.3在数据库中使用的...
在JBPM4.4工程中,Maven的配置文件pom.xml会列出所有必要的依赖库,确保在编译和运行时,所有必需的jar包都被正确地引入。这简化了开发环境的设置,并且便于团队协作,因为每个人都可以通过相同的构建过程获得一致的...
### jbpm3.2.2在mysql中字段的类型的错误:解决方案与理解 #### 引言 在使用jbpm3.2.2(一个开源的工作流引擎)与MySQL数据库进行集成时,可能会遇到关于字段类型不匹配的问题。这通常发生在初始化数据库结构或...
在JBPM6中,默认使用H2内存数据库进行存储,但实际生产环境中,我们通常会选择更为稳定且功能强大的MySQL或PostgreSQL作为持久化存储。本教程将指导您如何将JBPM的默认数据库从H2切换到MySQL或PostgreSQL,并提供...
在这个场景中,我们关注的是“JBPM设计器”,一个专门用于创建和编辑流程定义的工具,而这个设计器是用纯JavaScript编写的。 纯JavaScript实现的JBPM设计器意味着它可以完全在浏览器环境中运行,无需依赖服务器端的...
7. **事件处理**:描述如何定义和触发流程中的事件,例如错误处理和时间定时器。 8. **监控与调试**:讲解如何使用Jbpm提供的监控工具,如Jbpm Console,来实时查看流程状态,进行性能分析和问题定位。 9. **扩展...