JBPM4.3 web运行出错解决办法 ProcessEngine cannot be resolved to a type

           
 

最近开始学习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这样就可运行了呢。呵呵

 

我用的是eclipse3.5 galileo jee版的,原因应该是Java Build Path引的jar不能同步发布到tomcat下,所以在Java EE Module Dependencies引用相关的jar,web工程就可以运行了。

 

 

========问题补充=======================================================

以上的确是可以运行了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,问题解决,正常启动了流程。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值