springboot2.x集成activiti6.0在线流程设计器

我在网上找了不少资料都没有找到关于activiti6.0的在线流程设计器,大多数都是基于5.x的。由于6.0的源码包中没有在线设计器的资源包,所以本文使用的是activiti 5.22.0中web资源包来作的,只是依赖不同ui同样,下面就能开始来实现一下吧。css

第一步:在activiti官网下载5.22.0的源码包:https://www.activiti.org/get-startedhtml

第二步: 新建springboot项目在pom中配置以下mysql

< !-- activiti相关依赖-->
 < dependency>
 
 < groupId>org.activiti< /groupId>
 
 < artifactId>activiti-spring-boot-starter-basic< /artifactId>

 < version>6.0.0< /version>
 < /dependency>
 < dependency>
 < groupId>org.activiti< /groupId>
 < artifactId>activiti-json-converter< /artifactId>
 < version>6.0.0< /version>
 < exclusions>
 < exclusion>
 < groupId>org.activiti< /groupId>
 < artifactId>activiti-bpmn-model< /artifactId>
 < /exclusion>
 </ exclusions>
 < /dependency>
 < !-- activiti相关依赖-->



< !-- xml解析依赖-->
 < dependency>
 < groupId>org.apache.xmlgraphics< /groupId>
 < artifactId>batik-codec< /artifactId>
 < version>1.7< /version>
 < /dependency>
 < dependency>
 
 < groupId>org.apache.xmlgraphics< /groupId>
 < artifactId>batik-css</ artifactId>
 < version> 1.7< /version>
 < /dependency>
 < dependency>
 < groupId>org.apache.xmlgraphics< /groupId>
 < artifactId>batik-svg-dom< /artifactId>
 < version>1.7< /version>
 < /dependency>
 < dependency>
 < groupId>org.apache.xmlgraphics< /groupId>
 < artifactId>batik-svggen< /artifactId>
 < version>1.7< /version>
 < /dependency>
 < !-- xml解析依赖-->

数据源配置yml:(若是使用jdbc8的版本必须配置nullCatalogMeansCurrent=true,否则启动建表会报错,具体能够网上自行找答案,这里就很少说了)web

spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driverspring

url: jdbc:mysql://127.0.0.1:3306/oa?useSSL=false&nullCatalogMeansCurrent=true
username: root
password: 你的密码
activiti:sql

不自动检查resources/bpmn目录

check-process-definitions: falseapache

第三步: 静态资源整合json

下载完之后,解压activiti-5.22.0的包,解压activiti-webapp-explorer2,把webapp下面的diagram-viewer、editor-app、modeler.html复制到springboot项目下的static下,这是activiti的在线设计器,modeler.html就是设计的主界面,复制resources下stencilset.json到本身的resources下。将libs下的activiti-modeler-5.22.0-sources.jar解压出来,把org\activiti\rest\editor路径下的main、model文件夹复制到springboot项目的源码路径下,里面有三个类,主要用于读取stencilset.json。springboot

在这里插入图片描述

修改editor-app下的app-cfg.js,把contextRoot后面改为 ‘’(这个和控制器的和controller里面加的requestMapping要一致app

第四步:处理bug,就是在启动的app入口中排除org.activiti.spring.boot.SecurityAutoConfiguration这个类

@SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
public class ActivitiWebDemoApplication {
public static void main(String[] args) {
SpringApplication.run(ActivitiWebDemoApplication.class, args);
}
}
第五步: 测试

运行项目访问 http://localhost:8002/editor 就会出现如下效果!
在这里插入图片描述

第六步: 总结 居然都看到最后了,给小编点个关注吧,小编还会持续更新的,只收藏不点关注的都是在耍流氓!