可能原因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