首页 文章

在类路径资源中定义名为'processEngine'的bean时出错

提问于
浏览
0

要在我的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 回答

  • 1

    尝试在您的案例变量def activitiVersion中将activiti引擎版本更改为5.17 .

相关问题