要在我的gradle项目中配置activiti,请输入以下错误,请帮我解决。
org.springframework.beans.factory.BeanCreationException:错误 用名称' processEngine'创建bean。在类路径资源中定义 [com / ioryx / config / ActivitiConfig.class]:Bean实例化通过 工厂方法失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:失败 实例化[org.activiti.engine.ProcessEngine]:工厂方法 '流程引擎'抛出异常;嵌套异常是 java.lang.NoSuchMethodError: org.activiti.engine.ProcessEngines.setInitialized(Z)V at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) 〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1173) 〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1067) 〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) 〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) 〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:306) 〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761) 〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867) 〜[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543) 〜[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) 〜[spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] at com.ioryx.IoryxApplication.main(IoryxApplication.java:30)[bin /:na] 引起:org.springframework.beans.BeanInstantiationException: 无法实例化[org.activiti.engine.ProcessEngine]:Factory 方法' processEngine'抛出异常;嵌套异常是 java.lang.NoSuchMethodError: org.activiti.engine.ProcessEngines.setInitialized(Z)V at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) 〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) 〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] ... 18常见 框架省略引起:java.lang.NoSuchMethodError: org.activiti.engine.ProcessEngines.setInitialized(Z)V at org.activiti.spring.SpringProcessEngineConfiguration.buildProcessEngine(SpringProcessEngineConfiguration.java:66) 〜[activiti-spring-5.17.0.jar:5.17.0] at org.activiti.spring.ProcessEngineFactoryBean.getObject(ProcessEngineFactoryBean.java:60) 〜[activiti-spring-5.17.0.jar:5.17.0] at com.ioryx.config.ActivitiConfig.processEngine(ActivitiConfig.java:41) 〜[bin /:na] at com.ioryx.config.ActivitiConfig $$ EnhancerBySpringCGLIB $$ 1581bb10.CGLIB $ $的流程引擎4() 〜[bin /:na] at com.ioryx.config.ActivitiConfig $$ EnhancerBySpringCGLIB $$ 1581bb10 $$ FastClassBySpringCGLIB $$ e95334d8.invoke() 〜[bin /:na] at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) 〜[spring-core-4.3.10.RELEASE.jar:4.3.10.RELEASE] at org.springframework.context.annotation.ConfigurationClassEnhancer $ BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:358) 〜[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] at com.ioryx.config.ActivitiConfig $$ EnhancerBySpringCGLIB $$ 1581bb10.processEngine() 〜[bin /:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 方法)〜[na:1.8.0_144] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 〜[na:1.8.0_144] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 〜[na:1.8.0_144] at java.lang.reflect.Method.invoke(Method.java:498) 〜[na:1.8.0_144] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) 〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] ... 19常见 框架省略
IoryxApplication.class
package com.ioryx;
import java.util.HashMap;
import java.util.Map;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.core.Ordered;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import com.mongodb.MongoClientOptions;
@SpringBootApplication
@EnableScheduling
public class IoryxApplication extends SpringBootServletInitializer {
public static void main(String[] args) throws Exception {
SpringApplication.run(IoryxApplication.class, args);
}
@Bean
public CommandLineRunner init(final RepositoryService repositoryService, final RuntimeService runtimeService,
final TaskService taskService) {
return new CommandLineRunner() {
@Override
public void run(String... strings) throws Exception {
Map<String, Object> variables = new HashMap<String, Object>();
variables.put("applicantName", "John Doe");
variables.put("email", "john.doe@activiti.com");
variables.put("phoneNumber", "123456789");
runtimeService.startProcessInstanceByKey("myProcess", variables);
}
};
}
}
Activiti配置文件
package com.ioryx.config;
import javax.sql.DataSource;
import org.activiti.engine.FormService;
import org.activiti.engine.HistoryService;
import org.activiti.engine.IdentityService;
import org.activiti.engine.ManagementService;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl;
import org.activiti.spring.ProcessEngineFactoryBean;
import org.activiti.spring.SpringProcessEngineConfiguration;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.datasource.SimpleDriverDataSource;
import org.springframework.transaction.PlatformTransactionManager;
@Configuration
public class ActivitiConfig {
@Bean
public DataSource dataSource() {
SimpleDriverDataSource inMemoryDataSource = new SimpleDriverDataSource();
inMemoryDataSource.setUsername("sa");
inMemoryDataSource.setPassword("");
inMemoryDataSource.setUrl("jdbc:h2:mem:activiti;DB_CLOSE_DELAY=1000");
inMemoryDataSource.setDriverClass(org.h2.Driver.class);
return inMemoryDataSource;
}
@Bean
public ProcessEngine processEngine(ProcessEngineConfigurationImpl pec, PlatformTransactionManager transactionManager,ApplicationContext applicationContext) throws Exception {
ProcessEngineFactoryBean pe = new ProcessEngineFactoryBean();
pe.setProcessEngineConfiguration(getProcessEngineConfiguration( transactionManager,applicationContext));
pe.setApplicationContext(applicationContext);
return pe.getObject();
}
@Bean
public ProcessEngineConfigurationImpl getProcessEngineConfiguration(PlatformTransactionManager transactionManager,ApplicationContext applicationContext) {
SpringProcessEngineConfiguration pec = new SpringProcessEngineConfiguration();
pec.setDataSource(dataSource());
pec.setDatabaseSchemaUpdate("true");
pec.setJobExecutorActivate(true);
pec.setHistory("full");
pec.setMailServerPort(2025);
pec.setDatabaseType("h2");
pec.setTransactionManager(transactionManager);
pec.setApplicationContext(applicationContext);
return pec;
}
@Bean
public RepositoryService repositoryService(ProcessEngineFactoryBean processEngineFactoryBean) throws Exception {
return processEngineFactoryBean.getObject().getRepositoryService();
}
@Bean
public RuntimeService runtimeService(ProcessEngineFactoryBean processEngineFactoryBean) throws Exception {
return processEngineFactoryBean.getObject().getRuntimeService();
}
@Bean
public HistoryService historyService(ProcessEngineFactoryBean processEngineFactoryBean) throws Exception {
return processEngineFactoryBean.getObject().getHistoryService();
}
@Bean
public ManagementService managementService(ProcessEngineFactoryBean processEngineFactoryBean) throws Exception {
return processEngineFactoryBean.getObject().getManagementService();
}
@Bean
public IdentityService identityService(ProcessEngineFactoryBean processEngineFactoryBean) throws Exception {
return processEngineFactoryBean.getObject().getIdentityService();
}
@Bean
public FormService formService(ProcessEngineFactoryBean processEngineFactoryBean) throws Exception {
return processEngineFactoryBean.getObject().getFormService();
}
@Bean
public TaskService taskService(ProcessEngineFactoryBean processEngineFactoryBean) throws Exception {
return processEngineFactoryBean.getObject().getTaskService();
}
}
依赖关系
dependencies {
def activitiVersion='5.15.1'
compile("org.activiti:activiti-engine:$activitiVersion"){
exclude group: 'commons-logging', module: 'commons-logging'
}
compile group: 'org.activiti', name: 'activiti-spring', version: '5.17.0'
compile group: 'com.h2database', name: 'h2', version: '1.4.193'
compile ('org.codehaus.groovy:groovy-all:2.0.5')
compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.6.1'
compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.6.1'
compile('org.springframework.boot:spring-boot-starter-security')
compile('org.keycloak:keycloak-spring-boot-starter')
compile ('org.codehaus.groovy:groovy-all:2.0.5')
compile('com.spaneos:dtssp2-core:0.0.2-SNAPSHOT')
compile('com.spaneos:dtssp2-mongo:0.0.2-SNAPSHOT')
compile group: 'com.spaneos', name:'googlechart-core', version:'0.0.2-SNAPSHOT'
compile group: 'com.spaneos', name:'googlechart-mongo', version:'0.0.2-SNAPSHOT'
compile group: 'org.keycloak', name: 'keycloak-admin-client', version: '3.4.0.Final'
compile group: 'org.jboss.resteasy', name: 'resteasy-client', version: '3.1.4.Final'
compile group: 'org.jboss.resteasy', name: 'resteasy-jackson2-provider', version: '3.1.4.Final'
compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.9.2'
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.2'
compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.9.2'
compile group: 'com.fasterxml.jackson.jaxrs', name: 'jackson-jaxrs-json-provider', version: '2.9.2'
}
答案 0 :(得分:1)
尝试在您的案例变量def activitiVersion中将activiti引擎版本更改为5.17。