springboot整合activiti7看这一篇就够了(踩坑式
2023-04-03 本文已影响0人
Nenezsnp
本篇文章旨在提供工作过程中遇到的问题记录。如果能帮到你,那我很高兴;帮不到你可以当作一篇技术配置文档快速略过即可。
黑色加黑字体说明:除标题之外就是大家可以注意和尝试的地方
activity具体请参考官网:https://www.activiti.org/,同时想了解更多知识可以查看6.X版本的文档说明:https://www.activiti.org/userguide/
springboot整合activiti开始
part1:springboot项目的创建(1.idea创建springboot或2.脚手架创建springboot 请任选其一)
1.idea创建springboot
1.1查看idea操作界面 idea界面 1.2选中文件(file)->new->project! 创建新项目 1.3注意设置项目名称,jdk版本即可,点击next 配置项目初始化需要的配置 1.4选springboot版本,同时引入需要的pom依赖,点击create创建 指定引用的pom依赖 1.5.在你的系统就能够看见刚刚创建的demo了 文件位置2.脚手架创建springboot
2.1.进入链接https://start.spring.io,从左到右依次选中最后选generate
part2:开始配置springboot和activity
1.配置pom文件
1.1配置properties标签下的activiti-dependencies.version版本配置,此处需要注意jdk8支持的版本(此处有坑)
pom 1.2配置mysql相关配置第一个坑:mysql-connector-java这个版本之前选的8.0.27启动时候报错了
解决:这边是因为太高的版本不兼容,看了一些博主的文章需要在application配置文件中路径中添加&allowPublicKeyRetrieval=true 同时 修改为5.1.X版本的图中用的是5.1.27(不想踩坑就用这个就可以 具体报错大家可以试试改成8.0.27版本,本篇文章就不贴报错信息了)
第二个坑:启动时候spring-boot-starter-jdbc当时pom没有引入,其他博主中的pom文件也不全。这边报错
解决:添加spring-boot-starter-jdbc对于pom的依赖,同时路径中添加nullCatalogMeansCurrent=true。(大家可以尝试不配置spring-boot-starter-jdbc pom依赖以及路径中不添加nullCatalogMeansCurrent=true会有什么情况出现) image.png 注意repositories标签作用是配置远程maven仓库,大家可以尝试不配置这块会有什么影响
此处贴出完整的pom配置参考
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.10</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot_activity7_demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<activiti-dependencies.version>7.0.56</activiti-dependencies.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.activiti.dependencies</groupId>
<artifactId>activiti-dependencies</artifactId>
<version>${activiti-dependencies.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter</artifactId>
<version>${activiti-dependencies.version}</version>
</dependency>
<!--<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.200</version>
<scope>test</scope>
</dependency>
-->
<!--使用mysql数据库,导入mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.27</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jdbc -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<version>2.7.10</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>alfresco</id>
<name>Activiti Releases</name>
<url>https://artifacts.alfresco.com/nexus/content/repositories/activiti-releases/</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
application.yml文件
# 服务配置
server:
display-name: actdemo
port: 9095
# Spring相关配置
spring:
##数据库连接信息
datasource:
# 数据源配置
url: jdbc:mysql://127.0.0.1:3306/activiti?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
username: root
password: root1234
driver-class-name: com.mysql.cj.jdbc.Driver
xa:
properties:
pinGlobalTxToPhysicalConnection: true
useServerPrepStmts: true
thymeleaf:
mode: HTML
encoding: utf-8
# 禁用缓存
cache: false
application:
# 注册应用名
name: actdemo
mvc:
# 静态资源路径
static-path-pattern: /static/**
# 参考配置https://www.cnblogs.com/liaojie970/p/8857710.html
activiti:
# 自动建表
database-schema: ACTIVITI
database-schema-update: true
history-level: full
db-history-used: true
1.关于spring.datasource.xa部分可以不配置(可以删除),目前来看不配置也不会有影响,可能日后有相关用到的地方再来配置即可
启动成功,会看到数据库中有表的生成 image.png image.png未完 还有流程图的调用后续再更新
参考链接:https://blog.csdn.net/Firstlucky77/article/details/125191902
发现一个更好的学习链接:https://blog.csdn.net/vbirdbest/category_11524623.html