Activiti工作流框架:ProcessEngines.getDefaultProcessEngine()为null解决方案

本文介绍了当使用Activiti工作流框架遇到`ProcessEngines.getDefaultProcessEngine()`返回null时的可能原因和解决方案,包括配置文件错误、jar包缺失以及数据库配置和初始化问题。通过检查配置文件名称、路径、jar依赖、数据库连接以及流程定义文件,可以解决此问题。
摘要由CSDN通过智能技术生成

可能原因1:Activiti的配置文件名称或路径出错

通过如下方法获取的流程引擎对象,需要保证Activiti配置文件名称为"activiti.cfg.xml"并且位于classpath下(可参考Activiti源码)。
// 创建流程引擎
 ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
如图所示为java project的目录结构,按照某些教程把activiti.cfg.xml放在了新建的resource文件夹下,但是resource并不是资源文件夹也是会出错,这时应该右键resource文件夹->build path->use as source folder指定为资源目录(右上角出现"#"图案)。


可能原因2:jar包缺失

只简单添加了 activiti/libs 目录下的所有jar包以及log4j、slf4j相关包

缺少mysql驱动包
缺少spring-beans、spring-core相关包
缺少mybatis相关包
缺少commons-xxx相关包
缺少juel相关包
缺少jackson相关包
...
建议将 activiti/wars/中的某个war包解压,导入其中lib下的所有Jar包,缺少包会报ClassNotFoundException,再根据情况添包。附上lib图:



其它原因:配置文件内容有误或没有事先建立配置文件指向的数据库(数据库服务要开启)

(1)在activiti.cfg.xml配置文件中,添加了<property name="jobExecutorActivate" value="false" /> 去掉该属性试试。
(2)检查databaseSchemaUpdate配置是否与数据库表存在冲突?

测试源代码

package com.bo.activiti;

import 
  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值