关闭

求JBPM4.3 web运行出错解决办法

标签: jbpmwebtomcatconstraintsdependenciesjar
598人阅读 评论(0) 收藏 举报
分类:
最近开始学习jbpm,从4.3下手的,准备自己写一个例子的,但是运行tomcat就出错。报错说ProcessEngine编译不了,现在问题解决,记录一下。
下面是错误信息,试了下面所有的方法,还是不行啊,求高手解答啊:

org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 19 in the jsp file: /index.jsp
ProcessEngine cannot be resolved to a type
16: <a href="<%=request.getContextPath()%>/login.jsp">登陆</a>
17: <br />
18: <%
19:  ProcessEngine processEngine = Configuration.getProcessEngine();
20:  //流程定义
21:  RepositoryService repositoryService = processEngine.getRepositoryService();
22:  List<ProcessDefinition> pdList = repositoryService.createProcessDefinitionQuery().list();
。。。。以下省略n个字

==================================================

百度解决办法:

在当前工程的属性里设置引jar包的方式
1、将Java Build Path里面引的JBPM的jar包删除,
2、在Java EE Module Dependencies中添加jbpm.jar和lib下的jar包,其中不要添加这三个jar包(juel-impl.jar,juel-engine.jar,juel-api.jar)
ok这样就可运行了呢。呵呵
 
 
========问题补充=======================================================
以上的确是可以运行了web工程了。可是启动流程的时候又报错了。
错误信息如下:
java.lang.NoClassDefFoundError: de/odysseus/el/ExpressionFactoryImpl
 at org.jbpm.pvm.internal.script.JuelScriptEngineFactory.getScriptEngine(JuelScriptEngineFactory.java:185)
 at javax.script.ScriptEngineManager.getEngineByName(ScriptEngineManager.java:205)
 at org.jbpm.pvm.internal.script.ScriptManager.evaluate(ScriptManager.java:111)
 at org.jbpm.pvm.internal.script.ScriptManager.evaluateExpression(ScriptManager.java:90)
。。。。以下省略n字
 
原因是jbpm的el表达式和tomcat自带的el表达式有冲突,
因此做了一下尝试,
把上面所说的解决办法中的第2步少引的三个eljar包引入,然后把tomcat下面的el.jar包删除;
结果失败,还是报上面的错误;
 
尝试可行的另一解决办法:
3、把jbpm的lib包下的(juel-impl.jar,juel-engine.jar,juel-api.jar)这三个jar包copy到tomcat的lib目录下,然后把tomcat下面的el.jar包删除,
ok,问题解决,正常启动了流程。

问题一: 


今天调试时,调用executionService.signalExecutionById(pi.getId());方法,让流程实例继续执行时报错,内容如下:


org.hibernate.exception.ConstraintViolationException: could not delete:

于是,百度了一下,找到了问题的原因与解决的办法,方法如下:


连接Mysql5时,jBPM4运行到 End结点时的错误,把 hibernate.dialect 改为 org.hibernate.dialect.MySQLInnoDBDialect 就Ok了。


参看:http://fireinwind.javaeye.com/blog/848515

问题二:


在学习“请假流程设计”时,在循环输出ProcessDefinition时,报如下错误:


java.lang.LinkageError: loader constraints violated when linking javax/el/ExpressionFactory class

再次百度,错误的原因与解决办法如下:


因为tomcat6下的el-api.jar与jBPM-4使用的juel.jar产生冲突。


解决方法一:改用tomcat-5.5。


解决方法二:将juel-api.jar, juel-engine.jar, juel-impl.jar三个包复制到Tomcat6.0的lib目录下,并删除Tomcat6.0的lib目录下el-api.jar包和WEB-INF/lib中的juel-api.jar, juel-engine.jar, juel-impl.jar三个包,也就是在项目中不包括juel-api.jar, juel-engine.jar, juel-impl.jar三个包。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:164141次
    • 积分:2500
    • 等级:
    • 排名:第15316名
    • 原创:61篇
    • 转载:156篇
    • 译文:0篇
    • 评论:22条
    最新评论