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

最近开始学习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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值