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: false
    database-schema-update: false
    
  jpa:
    database: MYSQL
    generate-ddl: false
    show-sql: true


  datasource:
    password: 123456
    username: root
    url: jdbc:mysql://192.168.1.23:3306/test-1?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    druid: 
      validation-query: select '*'
      initial-size: 3
      max-active: 20
      max-wait: 1000
      filters: stat
      #检测连接是否有效,默认为60*1000L,通过timeBetweenEvictionRunsMillis设置
      test-while-idle: true
      #设置检测时间为5分钟
      time-between-eviction-runs-millis: 300000
      pool-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 failed

org.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/TypeHandler
	at 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/TypeHandler
	at 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/TypeHandler
	at 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.TypeHandler
	at 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的版本号信息,即解决这个异常。

猜你喜欢

转载自blog.csdn.net/tianlong1569/article/details/91330194