springbootActivitialready

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

官网脚手架 2.2找到下载的地方,然后idea->文件(file)->open,找到你下载的文件open,你就打开了刚刚下载的demo了 idea项目

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

上一篇下一篇

猜你喜欢

热点阅读