要在我的gradle项目中配置activiti,请输入以下错误,请帮我解决 .
org.springframework.beans.factory.BeanCreationException:在类路径资源[com / ioryx / config / ActivitiConfig.class]中定义名称为'processEngine'的bean时出错:通过工厂方法进行Bean实例化失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化[org.activiti.engine.ProcessEngine]:工厂方法'processEngine'抛出异常;嵌套异常是java.lang.NoSuchMethodError:org.activiti.engine.ProcessEngines.setInitialized(Z)V 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] org.springframework上的org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1067)~ [spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] . 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean上的beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] (AbstractAutowireCapableBeanFactory.java:48 3)〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] 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] org.springframework上的org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] orbe.springframework.beans.factory.support.DefaultListableBeanFactory中的.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)~ [spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] . orInst.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationConte)中的preInstantiateSingletons(DefaultListableBeanFactory.java:761)〜[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE] xt.java:867)~ [spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] 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] org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)[spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] org.springframework.boot.SpringApplication .refreshContext(SpringApplication.java:360)[spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE] org.springframework.boot.SpringApplication.run(SpringApplication.java:303)[spring-boot- 1.5.6.RELEASE.jar:1.5.6.RELEASE]在org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)[spring-boot-1.5.6.RELEASE.jar:1.5.6.RELEASE]在org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)[spring-boo t-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]:工厂方法'processEngine'抛出异常;嵌套异常是java.lang.NoSuchMethodError:org.activiti.engine.ProcessEngines.setInitialized(Z)V 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 atorg.activiti.spring.SpringProcessEngineConfiguration.buildProcessEngine(SpringProcessEngineConfiguration.java:66)〜[activiti-spring-5.17.0.jar:5.17.0] atg.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 $ processEngine $ 4()〜[bin /:na] at com.ioryx.config.ActivitiConfig $$ EnhancerBySpringCGLIB $$ 1581bb10 $$ FastClassBySpringCGLIB $$ e95334d8.invoke()〜[bin /:na] at org orsp.springframework.context.annotation.ConfigurationClassEnhancer $ BeanMethodInterceptor中的.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)~ [spring-core-4.3.10.RELEASE.jar:4.3.10.RELEASE] . com.ioryx.config.ActivitiConfig上的intercept(ConfigurationClassEnhancer.java:358)〜[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE] $$ EnhancerBySpringCGLIB $$ 1581bb10.processEngine()〜[bin / : na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)〜[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]在org.springframework.beans的java.lang.reflect.Method.invoke(Method.java:498)〜[na:1.8.0_144] . 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 configuration file
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
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'
}
1 回答
尝试在您的案例变量def activitiVersion中将activiti引擎版本更改为5.17 .