RuoYi整合activiti中出现的问题

最近一个由Ruoyi为基础的项目需要整合activiti工作流,出现以下一些问题,在这里总结一下

1、将activiti的依赖引入项目后,启动项目出现报错

Caused by: java.io.FileNotFoundException: class path resource [org/springframework/security/config/annotation/authentication/configurers/GlobalAuthenticationConfigurerAdapter.class] 
cannot be opened because it does not exist
	at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)
	at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:50)
	at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:98)
	at org.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory.createMetadataReader(ConcurrentReferenceCachingMetadataReaderFactory.java:89)
	at org.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory.getMetadataReader(ConcurrentReferenceCachingMetadataReaderFactory.java:76)
	at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:93)
	at org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:693)
	at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getSuperClass(ConfigurationClassParser.java:857)
	at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:328)
	at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:245)
	at org.springframework.context.annotation.ConfigurationClassParser.processMemberClasses(ConfigurationClassParser.java:349)
	at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:264)
	at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:245)
	at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:606)
	... 20 common frames omitted

解决方法:需要在启动器中剔除SecurityAutoConfiguration。加上以下这段代码即可

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

2、在剔除SecurityAutoConfiguration之后,开始报一些无法找到bean的错误。推想是不是activiti需要剔除Security的自动装配,但是其他类需要Security。最好找到解决办法,在pom.xml中引入activiti的地方剔除Security包

<dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring-boot-starter-basic</artifactId>
            <version>${activiti.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-security</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

最后成功启动,解决问题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在 Spring Boot 应用引入 Activiti 7,需要按照以下步骤操作: 1. 在项目的 pom.xml 文件添加 Activiti 7 的依赖,例如: ``` <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter-basic</artifactId> <version>7.1.0</version> </dependency> ``` 2. 创建一个名为 `application.properties` 的配置文件,并在其指定 Activiti 所使用的数据库连接信息,例如: ``` spring.datasource.url=jdbc:h2:mem:activiti;DB_CLOSE_DELAY=-1 spring.datasource.username=sa spring.datasource.password= spring.datasource.driver-class-name=org.h2.Driver ``` 3. 在应用的启动类添加 `@EnableProcessEngine` 注解,例如: ``` @SpringBootApplication @EnableProcessEngine public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } } ``` 4. 在应用使用 Activiti 相关的 API 进行开发即可。 希望这些信息能够帮到你! ### 回答2: Spring Boot是一个用于快速构建Spring应用程序的框架,而Activiti是一个开源的工作流引擎。将Activiti7引入Spring Boot可以让开发人员更方便地在Spring应用程序集成工作流系统。 引入Activiti7到Spring Boot的步骤如下: 1. 在Spring Boot项目的依赖管理文件(pom.xml)添加Activiti7的依赖。可以通过在Maven或Gradle加入相应的依赖引入Activiti7。 2. 配置Activiti7的相关属性。在Spring Boot的配置文件(application.properties或application.yml)设置Activiti7的配置参数,例如数据库连接、用户名密码等。 3. 创建工作流模型。使用Activiti7提供的图形化工作流设计器,或者直接编写BPMN 2.0规范的XML文件来定义工作流程。 4. 基于工作流模型创建流程实例。使用Activiti7的API来加载并部署工作流模型,然后可以根据需要创建流程实例。 5. 处理工作流任务。根据工作流的定义和流程实例的状态,使用Activiti7的API来处理工作流任务,例如启动工作流实例、完成任务等。 6. 监控和管理工作流。利用Activiti7提供的监控和管理功能,可以查看工作流的执行情况、统计数据等。 通过将Activiti7引入到Spring Boot,可以大大简化工作流系统的开发过程,提高开发效率。同时,由于Spring Boot的自动配置特性,可以将工作流引擎与其他Spring相关组件无缝集成,提供更强大的功能。 ### 回答3: Spring Boot是一个用于开发微服务的框架,而Activiti 是一个用于构建和管理业务流程的开源工作流引擎。将Spring Boot与Activiti 7整合,可以使开发者更加方便地使用工作流引擎来管理和控制业务流程。 首先,使用Spring Boot引入Activiti 7,需要在项目的pom.xml文件添加Activiti的依赖。在依赖指定Activiti的版本号,然后使用Maven或Gradle进行依赖的下载和安装。 接下来,在Spring Boot的配置文件配置Activiti的相关属性,如数据库连接信息、流程定义文件的存放路径等。可以使用YAML 或 properties 格式的配置文件进行配置。 然后,创建流程定义文件(BPMN文件),定义业务流程的各个环节和流程节点。在每个节点,可以配置相应的操作、表单和响应等信息。可以使用Activiti Designer等工具来创建和编辑BPMN文件。 在Spring Boot的代码,通过Activiti的API,可以使用Activiti的各种功能和组件。例如,可以使用Activiti 的流程引擎来启动、挂起、审核、撤回或终止流程实例。还可以使用任务服务来查询、领取、完成或委托任务等。 此外,也可以使用Activiti的表单服务来创建、编辑和提交表单。还可以使用历史服务来跟踪和查询流程实例的历史记录,如流程的启动时间、结束时间、当前状态等。 最后,在Spring Boot的应用,可以根据需要监听和处理Activiti的事件。例如,可以监听流程实例的启动、挂起、完成等事件,并在事件发生时触发相应的业务逻辑。 综上所述,通过在Spring Boot引入Activiti 7,可以方便地使用工作流引擎来构建和管理业务流程。这样,开发者可以更加高效地实现复杂的业务逻辑,并有效地提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值