前言
鑒於項目需要將acitiviti設計器整合到原工程中,在網上查了不少資料都不太適用,經過借鑒和自己倒騰終於搞定了,分享一下經驗,如果有問題,可以在留言區咨詢。
文中用到的資源代碼鏈接:
https://download.csdn.net/download/qq_37291176/10659803
一、 環境
筆者使用的Springboot版本為2.0.3 Release,activiti版本為5.22.0,JDK1.8。
Pom中需要引入如下:
<!--activiti begin lvmeng-->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>${activiti.version}</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring</artifactId>
<version>${activiti.version}</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-modeler</artifactId>
<version>${activiti.version}</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-diagram-rest</artifactId>
<version>${activiti.version}</version>
</dependency>
<!--activiti end-->
二、 引入activiti
1. 將org文件夾覆蓋到(如果沒有就新建)src\main\java\ 下。
2. 將acitiviti、common文件夾放到src\main\java\com\ 下,如果有子級包,則放到子級包,如筆者用的是src\main\java\com\huaxin\,並修改各類中的package包名。
3. 將GlobalExceptionHandler.java異常處理類放到自己喜歡的目錄,筆者放到了src\main\java\com\huaxin\sys\exception\下,如果你的工程里已經有統一異常處理類,則將筆者附件中GlobalExceptionHandler.java里的customHandler方法加進去。
4. 將stencilset.json放到src\main\resources\下。
5. 將diagram-viewer、editor-app、lib、favicon.ico、index.html、model-list.html放到src\main\resources\static\下。
6. 將modeler.html放到src\main\resources\templates\下。
引入工作到此結束,開始修改整合。
三、 修改整合
1. 首先,不用說你也知道,修改各個類中的package,使之與自己的工程對應。
2. 在你的PageController里(視圖映射控制器類)加入
@GetMapping("editor")
public String test() {
return "/modeler";
}
3. 給你的Springboot啟動類加上注解去掉Security,
否則訪問你的項目會有登錄界面,並可能與你的Shiro或其他插件有影響。
@EnableAutoConfiguration(exclude = {
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class
})
4. 啟動工程,訪問http://localhost:8080/model-list.html,如果出現下圖情況,則恭喜你成功了,點擊繪制流程嘗試繪制吧!
四、 可能遇到的問題
1. 如果類中報錯有關Security,嘗試pom中添加security的引用
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
- 1
- 2
- 3
- 4
其他問題想到后再補充。
- 1