美文网首页springbootActivitialready
springboot整合activiti7看这一篇就够了(踩坑式

springboot整合activiti7看这一篇就够了(踩坑式

作者: Nenezsnp | 来源:发表于2023-04-03 18:10 被阅读0次

    本篇文章旨在提供工作过程中遇到的问题记录。如果能帮到你,那我很高兴;帮不到你可以当作一篇技术配置文档快速略过即可。
    黑色加黑字体说明:除标题之外就是大家可以注意和尝试的地方

    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

    相关文章

      网友评论

        本文标题:springboot整合activiti7看这一篇就够了(踩坑式

        本文链接:https://www.haomeiwen.com/subject/zxfjddtx.html