本文主要是介绍SpringBoot2.0.6 Activiti项目搭建过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、创建SpringBoot项目
2、由于我这里的数据库版本比较低,项目创建成功后,需要修改pom.xml文件,将springboot的版本号改低。如果用高版本的数据库连接会报(com.mysql.cj.exceptions.UnableToConnectException: CLIENT_PLUGIN_AUTH is required 异常)。
修改内容如下(修改版本号、增加activiti的相关依赖,并修改mybatis的版本号信息):
形成的pom.xml文件代码为:
<?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 http://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.0.6.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.activiti</groupId><artifactId>activiti-test</artifactId><version>0.0.1-SNAPSHOT</version><name>activiti-test</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version><spring-cloud.version>Finchley.SR2</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.9</version></dependency><dependency><groupId>org.activiti</groupId><artifactId>activiti-spring-boot-starter-basic</artifactId><version>6.0.0</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
3、由于我用的是sts需要更新项目信息 ,在项目上右击-选择Maven-Update Project
4、修改application.properties文件名,改为application.yml文件名
5、打开application.yml文件(我这里的数据库为MYSQL5.6因此不能用高版本驱动),增加系统的配置信息,代码如下:
server:port: 8000
spring: activiti:check-process-definitions: falsedatabase-schema-update: falsejpa:database: MYSQLgenerate-ddl: falseshow-sql: truedatasource:password: 123456username: rooturl: jdbc:mysql://192.168.1.23:3306/test-1?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNulldriver-class-name: com.mysql.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSourcedruid: validation-query: select '*'initial-size: 3max-active: 20max-wait: 1000filters: stat#检测连接是否有效,默认为60*1000L,通过timeBetweenEvictionRunsMillis设置test-while-idle: true#设置检测时间为5分钟time-between-eviction-runs-millis: 300000pool-prepared-statements: false
6、修改启动类代码,将@SpringBootApplication修改为@SpringBootApplication(exclude = SecurityAutoConfiguration.class)。
代码如下:
package com.activiti;import org.activiti.spring.boot.SecurityAutoConfiguration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication(exclude = SecurityAutoConfiguration.class)
public class ActivitiTestApplication {public static void main(String[] args) {SpringApplication.run(ActivitiTestApplication.class, args);}}
搭建过程中的异常:
1、Mybatis版本异常,需要将Mybatis的版本号改为:1.3.2
9-06-08 12:56:44.163 ERROR 15468 --- [ main] o.s.boot.SpringApplication : Application run failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springProcessEngineConfiguration' defined in class path resource [org/activiti/spring/boot/JpaProcessEngineAutoConfiguration$JpaConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.activiti.spring.SpringProcessEngineConfiguration]: Factory method 'springProcessEngineConfiguration' threw exception; nested exception is java.lang.NoClassDefFoundError: org/apache/ibatis/type/TypeHandlerat org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:591) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1246) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1096) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:535) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:759) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867) ~[spring-context-5.0.10.RELEASE.jar:5.0.10.RELEASE]at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:548) ~[spring-context-5.0.10.RELEASE.jar:5.0.10.RELEASE]at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.6.RELEASE.jar:2.0.6.RELEASE]at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) [spring-boot-2.0.6.RELEASE.jar:2.0.6.RELEASE]at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:386) [spring-boot-2.0.6.RELEASE.jar:2.0.6.RELEASE]at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-2.0.6.RELEASE.jar:2.0.6.RELEASE]at org.springframework.boot.SpringApplication.run(SpringApplication.java:1242) [spring-boot-2.0.6.RELEASE.jar:2.0.6.RELEASE]at org.springframework.boot.SpringApplication.run(SpringApplication.java:1230) [spring-boot-2.0.6.RELEASE.jar:2.0.6.RELEASE]at com.activiti.ActivitiTestApplication.main(ActivitiTestApplication.java:11) [classes/:na]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.activiti.spring.SpringProcessEngineConfiguration]: Factory method 'springProcessEngineConfiguration' threw exception; nested exception is java.lang.NoClassDefFoundError: org/apache/ibatis/type/TypeHandlerat org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:583) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]... 18 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/apache/ibatis/type/TypeHandlerat org.activiti.spring.boot.AbstractProcessEngineConfiguration.processEngineConfigurationBean(AbstractProcessEngineConfiguration.java:59) ~[activiti-spring-boot-starter-basic-6.0.0.jar:na]at org.activiti.spring.boot.AbstractProcessEngineAutoConfiguration.baseSpringProcessEngineConfiguration(AbstractProcessEngineAutoConfiguration.java:79) ~[activiti-spring-boot-starter-basic-6.0.0.jar:na]at org.activiti.spring.boot.JpaProcessEngineAutoConfiguration$JpaConfiguration.springProcessEngineConfiguration(JpaProcessEngineAutoConfiguration.java:59) ~[activiti-spring-boot-starter-basic-6.0.0.jar:na]at org.activiti.spring.boot.JpaProcessEngineAutoConfiguration$JpaConfiguration$$EnhancerBySpringCGLIB$$e23fc8a2.CGLIB$springProcessEngineConfiguration$1(<generated>) ~[activiti-spring-boot-starter-basic-6.0.0.jar:na]at org.activiti.spring.boot.JpaProcessEngineAutoConfiguration$JpaConfiguration$$EnhancerBySpringCGLIB$$e23fc8a2$$FastClassBySpringCGLIB$$71243091.invoke(<generated>) ~[activiti-spring-boot-starter-basic-6.0.0.jar:na]at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) ~[spring-core-5.0.10.RELEASE.jar:5.0.10.RELEASE]at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:365) ~[spring-context-5.0.10.RELEASE.jar:5.0.10.RELEASE]at org.activiti.spring.boot.JpaProcessEngineAutoConfiguration$JpaConfiguration$$EnhancerBySpringCGLIB$$e23fc8a2.springProcessEngineConfiguration(<generated>) ~[activiti-spring-boot-starter-basic-6.0.0.jar:na]at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_201]at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_201]at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_201]at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_201]at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.0.10.RELEASE.jar:5.0.10.RELEASE]... 19 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.apache.ibatis.type.TypeHandlerat java.net.URLClassLoader.findClass(Unknown Source) ~[na:1.8.0_201]at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.8.0_201]at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) ~[na:1.8.0_201]at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.8.0_201]... 32 common frames omitted
这个异常主要是由于mybatis的版本号不匹配造成的,修改Mybatis的版本号信息,即解决这个异常。
这篇关于SpringBoot2.0.6 Activiti项目搭建过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!