Activiti7集成SpringBoot2官方实例(二):Activiti7 Deep Dive系列 - 使用核心库
将Activiti 7依赖项添加到应用程序
除了Activiti 7依赖项之外,Spring Boot应用程序具有我们需要的大多数依赖项。所以让我们添加它们。我们可以使用BOM(物料清单)依赖关系,它将引入所有需要的Activiti 7依赖关系管理配置,包括所有依赖关系的正确版本。
将以下内容添加到 pom.xml:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.activiti.cloud.dependencies</groupId>
<artifactId>activiti-cloud-dependencies</artifactId>
<version>7.0.0.Beta3</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
这将导入Activiti 7的所有依赖项管理配置。现在我们只需要添加一个Activiti 7依赖项,它支持运行Activiti流程引擎,服务任务实现(即云连接器)和事件处理程序实现(即替换流程和任务)听众)。将以下依赖项添加到pom.xml:
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter</artifactId>
</dependency>
这将带来所有Activiti和Spring依赖项需要运行嵌入在Spring Boot应用程序中的Activiti 7流程引擎。我还可以编译我们的服务任务实现和我们的流程引擎事件处理程序。
我们还不能使用这些新的依赖项运行应用程序,因为它将在 resources/processes
目录中查找流程定义。如果此目录不存在,则抛出异常并停止应用程序。
将流程定义添加到应用程序
我们现在将我们在之前的一篇文章中设计的流程定义XML文件添加到项目中。 在src/main/resources
目录下创建一个名为processes
的新目录。然后将.bpmn20.xml
文件复制到此目录中。您现在应该看到这样的目录结构:
├── src
│ ├── main
│ │ ├── java
│ │ │ └── org
│ │ │ └── activiti
│ │ │ └── training
│ │ │ └── activiti7apibasicprocessusertaskservicetaskevents
│ │ │ └── Activiti7ApiBasicProcessUsertaskServicetaskEventsApplication.java
│ │ └── resources
│ │ ├── application.properties
│ │ ├── processes
│ │ │ └── sample-process.bpmn20.xml
│ │ ├── static
│ │ └── templates
这就是我们需要做的,我们现在可以测试启动应用程序。
测试包含Activiti库和进程定义的Spring Boot App
我们现在可以打包并运行应用程序,以查看所有Activiti库是否已正确加载,并且正确读取了流程定义而没有错误。
$ mvn clean package
$ java -jar target / activiti7-api-basic-process-usertask-servicetask-events-0.0.1-SNAPSHOT.jar