1. 程式人生 > 實用技巧 >springboot2.3.3 整合 activiti6 建立基本表

springboot2.3.3 整合 activiti6 建立基本表

MybatisPlus+Activiti6衝突導致mybatis plus包引入失敗
解決辦法:將activiti中排除掉
<dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter-basic</artifactId> <version>6.0.0</version> <exclusions> <exclusion> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> </exclusion> </exclusions> </dependency>

首先,官網說了,想要自動建立表需要配置:

spring:
  activiti:
    database-schema-update: true

但是,啟動專案後,並未自動建立表,經查詢網上資料得知:

在使用mysql-connect 8.+以上版本的時候需要新增nullCatalogMeansCurrent=true引數,否則在使用mybatis-generator生成表對應的xml等時會掃描整個伺服器裡面的全部資料庫中的表,而不是掃描對應資料庫的表。-https://www.jianshu.com/p/8d23f7483297

然後檢視自己專案中的 mysql.version 版本,發現

<mysql.version>8.0.16</mysql.version>

所以修改資料庫連線配置: 加上【nullCatalogMeansCurrent=true

datasource:
    url: jdbc:mysql://localhost:3306/activiti?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&autoReconnect=true&nullCatalogMeansCurrent=true

啟動類上新增

@SpringBootApplication
@EnableAutoConfiguration(exclude = {org.activiti.spring.boot.SecurityAutoConfiguration.class,
        org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class })

隨便建立一個bpmn檔案,然後啟動 就可以生成表結構了

nested exception is java.io.FileNotFoundException: class path resource [processes/] cannot be resolved to URL becauseit does not exist。

解決方法(設定專案啟動時不用檢查流程檔案)

(1)在resources下新建processes資料夾,將bpmn、bpmn.xml或bpmn20.xml(隨便一個可行的流程圖檔案)放入其中即可。

(2)在application.yml中加spring.activiti.check-process-definitions: false(注意false前有空格)。或者在application.properties中加spring.activiti.check-process-definitions=false