关于spring boot 2.1.2集成 activiti6.0遇到的问题

先说解决方案

方案一:

启动类排除activiti扫描报错的部分

@SpringBootApplication( exclude = SecurityAutoConfiguration.class)
public class ScheduleApplication extends SpringBootServletInitializer {

	public static void main(String[] args) {
		SpringApplication.run(ScheduleApplication.class, args);
	}

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
		return application.sources(ScheduleApplication.class);
	}
}

方案二:

这是已经适配spring boot 2.1.2 的jar包,根据readme调整

链接:https://pan.baidu.com/s/1-O2SSWL3ibIBOjBkwgVeIg 
提取码:b7ee 
 

再说遇到问题,项目使用的是spring boot 2.1.2,引入activiti6.0.0后



	org.activiti
	activiti-spring-boot-starter-basic
	6.0.0

报错 

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'documentationPluginsBootstrapper' defined in URL [jar:file:/D:/apache-maven-3.3.9/repo/m2/io/springfox/springfox-spring-web/2.7.0/springfox-spring-web-2.7.0.jar!/springfox/documentation/spring/web/plugins/DocumentationPluginsBootstrapper.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webMvcRequestHandlerProvider' defined in URL [jar:file:/D:/apache-maven-3.3.9/repo/m2/io/springfox/springfox-spring-web/2.7.0/springfox-spring-web-2.7.0.jar!/springfox/documentation/spring/web/plugins/WebMvcRequestHandlerProvider.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:769) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:218) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1308) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1154) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:538) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:498) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:846) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:863) ~[spring-context-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546) ~[spring-context-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142) ~[spring-boot-2.1.2.RELEASE.jar:2.1.2.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775) [spring-boot-2.1.2.RELEASE.jar:2.1.2.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) [spring-boot-2.1.2.RELEASE.jar:2.1.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:316) [spring-boot-2.1.2.RELEASE.jar:2.1.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260) [spring-boot-2.1.2.RELEASE.jar:2.1.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248) [spring-boot-2.1.2.RELEASE.jar:2.1.2.RELEASE]
	at com.gbiac.sche.app.ScheduleApplication.main(ScheduleApplication.java:12) [classes/:na]
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webMvcRequestHandlerProvider' defined in URL [jar:file:/D:/apache-maven-3.3.9/repo/m2/io/springfox/springfox-spring-web/2.7.0/springfox-spring-web-2.7.0.jar!/springfox/documentation/spring/web/plugins/WebMvcRequestHandlerProvider.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:769) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:218) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1308) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1154) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:538) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:498) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1460) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1424) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1315) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1202) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1164) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:857) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:760) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	... 19 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1745) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:576) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:498) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1460) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1424) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1315) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1202) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1164) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:857) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:760) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	... 36 common frames omitted
Caused by: java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
	at sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:724) ~[na:1.8.0_161]
	at sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:531) ~[na:1.8.0_161]
	at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:355) ~[na:1.8.0_161]
	at sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:286) ~[na:1.8.0_161]
	at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:120) ~[na:1.8.0_161]
	at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:72) ~[na:1.8.0_161]
	at java.lang.Class.createAnnotationData(Class.java:3521) ~[na:1.8.0_161]
	at java.lang.Class.annotationData(Class.java:3510) ~[na:1.8.0_161]
	at java.lang.Class.createAnnotationData(Class.java:3526) ~[na:1.8.0_161]
	at java.lang.Class.annotationData(Class.java:3510) ~[na:1.8.0_161]
	at java.lang.Class.getAnnotation(Class.java:3415) ~[na:1.8.0_161]
	at java.lang.reflect.AnnotatedElement.isAnnotationPresent(AnnotatedElement.java:258) ~[na:1.8.0_161]
	at java.lang.Class.isAnnotationPresent(Class.java:3425) ~[na:1.8.0_161]
	at org.springframework.core.annotation.AnnotatedElementUtils.hasAnnotation(AnnotatedElementUtils.java:599) ~[spring-core-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.isHandler(RequestMappingHandlerMapping.java:205) ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.processCandidateBean(AbstractHandlerMethodMapping.java:251) ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.initHandlerMethods(AbstractHandlerMethodMapping.java:211) ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.afterPropertiesSet(AbstractHandlerMethodMapping.java:199) ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.afterPropertiesSet(RequestMappingHandlerMapping.java:164) ~[spring-webmvc-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1741) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	... 50 common frames omitted

activiti6.0.0在spring boot2之前发布的,所以有些api不兼容。所以在这里我们对activit源码进行修改,并重新打成jar包。

从GitHub上下载activiti6.0.0的源码

1、先找到spring-boot的依赖路径,

可以看到它原来是依赖spring-boot 1.2.6.RELEASE,在这里我们对版本进行修改,改成我们需要的版本

关于spring boot 2.1.2集成 activiti6.0遇到的问题_第1张图片

关于spring boot 2.1.2集成 activiti6.0遇到的问题_第2张图片

2、rebuild项目,可以发现报错冲突部分

①org.activiti.spring.boot.actuate.endpoint.ProcessEngineEndpoint

/* Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.activiti.spring.boot.actuate.endpoint;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl;
import org.activiti.engine.impl.persistence.deploy.DefaultDeploymentCache;
import org.activiti.engine.impl.persistence.deploy.DeploymentCache;
import org.activiti.engine.impl.persistence.deploy.ProcessDefinitionCacheEntry;
//import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
import org.activiti.engine.repository.ProcessDefinition;
//import org.springframework.boot.actuate.endpoint.AbstractEndpoint;
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
//import org.springframework.boot.context.properties.ConfigurationProperties;

import java.util.*;

/**
 * Registers a Boot Actuator endpoint that provides information on the
 * running process instance and renders BPMN diagrams of the deployed processes.
 *
 * @author Josh Long
 */
//@ConfigurationProperties(prefix = "endpoints.activiti")
@Endpoint(id = "activiti")
public class ProcessEngineEndpoint {

    private final ProcessEngine processEngine;

    public ProcessEngineEndpoint(ProcessEngine processEngine) {
//        super("activiti");
        this.processEngine = processEngine;
    }

//    @Override
//    public Map invoke() {
    @ReadOperation
    public Map activiti(){
        Map metrics = new HashMap();

        // Process definitions
        metrics.put("processDefinitionCount", processEngine.getRepositoryService().createProcessDefinitionQuery().count());

        // List of all process definitions
        List processDefinitions = processEngine.getRepositoryService().createProcessDefinitionQuery().orderByProcessDefinitionKey().asc().list();
        List processDefinitionKeys = new ArrayList();
        for (ProcessDefinition processDefinition : processDefinitions) {
            processDefinitionKeys.add(processDefinition.getKey() + " (v" + processDefinition.getVersion() + ")");
        }
        metrics.put("deployedProcessDefinitions", processDefinitionKeys);

        // Process instances
        Map processInstanceCountMap = new HashMap();
        metrics.put("runningProcessInstanceCount", processInstanceCountMap);
        for (ProcessDefinition processDefinition : processDefinitions) {
            processInstanceCountMap.put(processDefinition.getKey() + " (v" + processDefinition.getVersion() + ")",
                    processEngine.getRuntimeService().createProcessInstanceQuery().processDefinitionId(processDefinition.getId()).count());
        }
        Map completedProcessInstanceCountMap = new HashMap();
        metrics.put("completedProcessInstanceCount", completedProcessInstanceCountMap);
        for (ProcessDefinition processDefinition : processDefinitions) {
            completedProcessInstanceCountMap.put(processDefinition.getKey() + " (v" + processDefinition.getVersion() + ")",
                    processEngine.getHistoryService().createHistoricProcessInstanceQuery().finished().processDefinitionId(processDefinition.getId()).count());
        }

        // Open tasks
        metrics.put("openTaskCount", processEngine.getTaskService().createTaskQuery().count());
        metrics.put("completedTaskCount", processEngine.getHistoryService().createHistoricTaskInstanceQuery().finished().count());


        // Tasks completed today
        metrics.put("completedTaskCountToday", processEngine.getHistoryService().createHistoricTaskInstanceQuery().finished().taskCompletedAfter(
                new Date(System.currentTimeMillis() - secondsForDays(1))).count());

        // Process steps
        metrics.put("completedActivities", processEngine.getHistoryService().createHistoricActivityInstanceQuery().finished().count());

        // Process definition cache
        DeploymentCache deploymentCache = ((ProcessEngineConfigurationImpl) processEngine.getProcessEngineConfiguration()).getProcessDefinitionCache();
        if (deploymentCache instanceof DefaultDeploymentCache) {
            metrics.put("cachedProcessDefinitionCount", ((DefaultDeploymentCache) deploymentCache).size());
        }
        return metrics;
    }

    private long secondsForDays(int days) {
        int hour = 60 * 60 * 1000;
        int day = 24 * hour;
        return days * day;
    }
}

②org.activiti.spring.boot.actuate.endpoint.ProcessEngineMvcEndpoint

/* Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.activiti.spring.boot.actuate.endpoint;

import java.io.InputStream;

import org.activiti.bpmn.BpmnAutoLayout;
import org.activiti.bpmn.model.BpmnModel;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.image.ProcessDiagramGenerator;
import org.activiti.image.impl.DefaultProcessDiagramGenerator;
//import org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter;
import org.springframework.core.io.InputStreamResource;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * Renders a valid running BPMN process definition as a BPMN diagram.
 *
 * This is duplicative of the functionality in the full REST API implementation.
 *
 * @author Joram Barrez
 * @author Josh Long
 */
public class ProcessEngineMvcEndpoint  {

    private final RepositoryService repositoryService;
    private final ProcessEngineEndpoint processEngineEndpoint;

    public ProcessEngineMvcEndpoint(ProcessEngineEndpoint processEngineEndpoint, RepositoryService repositoryService) {
//        super(processEngineEndpoint);
        this.processEngineEndpoint = processEngineEndpoint;
        this.repositoryService = repositoryService;
    }

    /**
     * Look up the process definition by key. For example,
     * this is process-diagram for
     * a process definition named {@code fulfillmentProcess}.
     */
    @RequestMapping(value = "/processes/{processDefinitionKey:.*}", method = RequestMethod.GET, produces = MediaType.IMAGE_JPEG_VALUE)
    @ResponseBody
    public ResponseEntity processDefinitionDiagram(@PathVariable String processDefinitionKey) {
      ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
              .processDefinitionKey(processDefinitionKey)
              .latestVersion()
              .singleResult();
      if (processDefinition == null) {
          return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
      }

      ProcessDiagramGenerator processDiagramGenerator = new DefaultProcessDiagramGenerator();
      BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinition.getId());

      if (bpmnModel.getLocationMap().size() == 0) {
          BpmnAutoLayout autoLayout = new BpmnAutoLayout(bpmnModel);
          autoLayout.execute();
      }

      InputStream is = processDiagramGenerator.generateJpgDiagram(bpmnModel);
      return ResponseEntity.ok(new InputStreamResource(is));
  }

}

③org.activiti.spring.boot.EndpointAutoConfiguration

/* Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.activiti.spring.boot;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.RepositoryService;
import org.activiti.spring.boot.actuate.endpoint.ProcessEngineEndpoint;
import org.activiti.spring.boot.actuate.endpoint.ProcessEngineMvcEndpoint;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * The idea behind this module is that Spring Security could
 * talk to the {@link org.activiti.engine.IdentityService}
 * as required.
 *
 * @author Josh Long
 */
@Configuration
//@ConditionalOnClass (name = "org.springframework.boot.actuate.endpoint.AbstractEndpoint")
public class EndpointAutoConfiguration {

    @Bean
    public ProcessEngineEndpoint processEngineEndpoint(ProcessEngine engine) {
        return new ProcessEngineEndpoint(engine);
    }

    @Bean
    public ProcessEngineMvcEndpoint processEngineMvcEndpoint(
            ProcessEngineEndpoint engineEndpoint, RepositoryService repositoryService) {
        return new ProcessEngineMvcEndpoint(engineEndpoint, repositoryService);
    }
}

④org.activiti.spring.boot.DataSourceProcessEngineAutoConfiguration

/* Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.activiti.spring.boot;

import java.io.IOException;

import javax.sql.DataSource;

import org.activiti.spring.SpringAsyncExecutor;
import org.activiti.spring.SpringProcessEngineConfiguration;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;

/**
 * @author Joram Barrez
 * @author Josh Long
 */
@Configuration
@AutoConfigureAfter(DataSourceAutoConfiguration.class)
public class DataSourceProcessEngineAutoConfiguration {

  @Configuration
//  @ConditionalOnMissingClass(name= "javax.persistence.EntityManagerFactory")
  @ConditionalOnMissingClass(value= "javax.persistence.EntityManagerFactory")
  @EnableConfigurationProperties(ActivitiProperties.class)
  public static class DataSourceProcessEngineConfiguration extends AbstractProcessEngineAutoConfiguration {

    @Bean
    @ConditionalOnMissingBean
    public PlatformTransactionManager transactionManager(DataSource dataSource) {
      return new DataSourceTransactionManager(dataSource);
    }

    @Bean
    @ConditionalOnMissingBean
    public SpringProcessEngineConfiguration springProcessEngineConfiguration(
            DataSource dataSource,
            PlatformTransactionManager transactionManager,
            SpringAsyncExecutor springAsyncExecutor) throws IOException {
      
      return this.baseSpringProcessEngineConfiguration(dataSource, transactionManager, springAsyncExecutor);
    }
  }

}

⑤org.activiti.spring.boot.SecurityAutoConfiguration

/* Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.activiti.spring.boot;

import org.activiti.engine.IdentityService;
import org.activiti.rest.security.BasicAuthenticationProvider;
import org.activiti.spring.security.IdentityServiceUserDetailsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.authentication.AuthenticationProvider;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.authentication.configurers.GlobalAuthenticationConfigurerAdapter;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.core.userdetails.UserDetailsService;

/**
 * Installs a Spring Security adapter for the Activiti
 * {@link org.activiti.engine.IdentityService}.
 *
 * @author Josh Long
 */
@Configuration
//@AutoConfigureBefore(org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration.class)
@AutoConfigureBefore(org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class)
public class SecurityAutoConfiguration {

  @Configuration
  @ConditionalOnClass( UserDetailsService.class)
  public static class UserDetailsServiceConfiguration
          extends GlobalAuthenticationConfigurerAdapter {

    @Override
    public void init(AuthenticationManagerBuilder auth) throws Exception {
      auth.userDetailsService( userDetailsService());
    }

    @Bean
    public UserDetailsService userDetailsService() {
      return new IdentityServiceUserDetailsService(this.identityService);
    }

    @Autowired
    private IdentityService identityService;
  }
  
  @Configuration
  @ConditionalOnClass(name = {"org.activiti.rest.service.api.RestUrls", "org.springframework.web.servlet.DispatcherServlet"})
  @EnableWebSecurity
  public static class SecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Bean
    public AuthenticationProvider authenticationProvider() {
      return new BasicAuthenticationProvider();
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
      http
        .authenticationProvider(authenticationProvider())
        .csrf().disable()
        .authorizeRequests()
          .anyRequest().authenticated()
          .and()
        .httpBasic();
    }
  }
}

主要是spring boot 1 和 2的一些配置方式和包结构不同

3.指定activiti-root下的pom

指定他的版本为6.0.0,而不是${project.version}


	4.0.0

	Activiti
	BPM and workflow engine
	org.activiti
	activiti-root

	
		org.sonatype.oss
		oss-parent
		7
	

	pom
	6.0.0
	
		UTF-8
		4.2.5.RELEASE
		4.0.4.RELEASE
		3.5.0
		3.1.6
		1.7
		
		-Duser.language=en

		
		
		version="[$(version;==;${activiti.osgi.version.clean}),$(version;=+;${activiti.osgi.version.clean}))"
		version="[$(version;===;${activiti.osgi.version.clean}),$(version;==+;${activiti.osgi.version.clean}))"
		[$(version;==;$(@)),$(version;+;$(@)))
		
		
		
		
		
		
			org.activiti.*;${activiti.osgi.import.activiti.version},
			${activiti.osgi.import.before.defaults},
			${activiti.osgi.import.defaults},
			${activiti.osgi.import.additional},
			*
		
		
		false
		${activiti.osgi.export.pkg};${activiti.osgi.version};-noimport:=true
		
		
			${activiti.artifact}*,
			${activiti.osgi.export.additional}
		
		
		version=6.0.0
		-split-package:=first
		${activiti.osgi.import.pkg}
		
		${activiti.artifact}
		false
		Ignore-Package,Include-Resource,Private-Package,Bundle-DocURL
		{maven-resources}
		
	

	
		
			
				cglib
				cglib
				2.2
			
			
				com.h2database
				h2
				1.3.176
			
			
				commons-dbcp
				commons-dbcp
				1.4
			
			
			
				org.slf4j
				slf4j-api
				1.7.6
			
			
				org.slf4j
				jcl-over-slf4j
				1.7.6
			
			
				org.slf4j
				slf4j-log4j12
				1.7.6
			
			
				commons-logging
				commons-logging
				1.2
			
			
				org.apache.commons
				commons-lang3
				3.3.2
			
			
				commons-io
				commons-io
				2.0.1
			
			
				commons-fileupload
				commons-fileupload
				1.2.2
			
			
				org.apache.httpcomponents
				httpclient
				4.3.5
			
			
				com.oracle.jdbc
				ojdbc7
				12.1.0.1
				test
			
			
				com.sun.xml.bind
				jaxb-impl
				2.2.11
			
			
				com.sun.xml.bind
				jaxb-xjc
				2.2.11
			
			
				javax.servlet
				servlet-api
				2.5
			
			
				javax.mail
				mail
				1.4.1
			
			
				javax.persistence
				persistence-api
				1.0
				provided
			
			
				javax.enterprise.concurrent
				javax.enterprise.concurrent-api
				1.0
				provided
			
			
				javax.xml.bind
				jaxb-api
				2.2.11
			
			
				de.odysseus.juel
				juel-api
				2.2.7
			
			
				de.odysseus.juel
				juel-impl
				2.2.7
			
			
				de.odysseus.juel
				juel-spi
				2.2.7
			
			
				junit
				junit
				4.11
				test
			
			
				org.assertj
				assertj-core
				
				2.6.0
				test
			
			
				mysql
				mysql-connector-java
				5.1.27
				test
			
            
                org.activiti
                activiti-secure-tasks
                6.0.0
            
			
				com.ibm.db2.jcc
				db2jcc4
				10.1
				test
			
			
				org.activiti
				activiti-engine
				6.0.0
			
			
				org.activiti
				activiti-spring
				6.0.0
			
			
				org.activiti
				activiti-bpmn-model
				6.0.0
			
			
				org.activiti
				activiti-bpmn-converter
				6.0.0
			
			
				org.activiti
				activiti-json-converter
				6.0.0
			
			
				org.activiti
				activiti-explorer
				6.0.0
			
			
				org.activiti
				activiti-simple-workflow
				6.0.0
			
			
				org.activiti
				activiti-common-rest
				6.0.0
			
			
				org.activiti
				activiti-rest
				6.0.0
			
			
				org.activiti
				activiti-dmn-api
				6.0.0
			
			
				org.activiti
				activiti-dmn-engine
				6.0.0
			
			
				org.activiti
				activiti-dmn-model
				6.0.0
			
			
				org.activiti
				activiti-dmn-xml-converter
				6.0.0
			
			
				org.activiti
				activiti-dmn-json-converter
				6.0.0
			
			
				org.activiti
				activiti-dmn-rest
				6.0.0
			
			
				org.activiti
				activiti-dmn-engine-configurator
				6.0.0
			
			
				org.activiti
				activiti-form-model
				6.0.0
			
			
				org.activiti
				activiti-form-api
				6.0.0
			
			
				org.activiti
				activiti-form-json-converter
				6.0.0
			
			
				org.activiti
				activiti-form-engine
				6.0.0
			
			
				org.activiti
				activiti-form-engine-configurator
				6.0.0
			
			
				org.activiti
				activiti-camel
				6.0.0
			
			
				org.activiti
				activiti-mule
				6.0.0
			
			
				org.activiti
				activiti-crystalball
				6.0.0
			
			
				org.activiti
				activiti-webapp-rest2
				war
				6.0.0
			
			
				org.activiti
				activiti-cxf
				6.0.0
			
			
				org.activiti
				activiti-bpmn-layout
				6.0.0
			
			
				org.activiti
				activiti-process-validation
				6.0.0
			
			
				org.activiti
				activiti-image-generator
				6.0.0
			
			
				org.activiti
				activiti5-engine
				6.0.0
			
			
				org.activiti
				activiti5-spring
				6.0.0
			
			
				org.activiti
				activiti5-compatibility
				6.0.0
			
			
				org.activiti
				activiti5-spring-compatibility
				6.0.0
			
			
				org.activiti
				activiti-jmx
				6.0.0
			
			
			
				org.apache.commons
				commons-email
				1.4
			
			
			
				org.apache.cxf
				cxf-rt-frontend-jaxws
				${cxf.version}
			
			
				org.apache.cxf
				cxf-rt-transports-http
				${cxf.version}
			
			
				org.apache.cxf
				cxf-rt-transports-http-jetty
				${cxf.version}
			
			
				org.apache.cxf
				cxf-rt-bindings-soap
				${cxf.version}
			
			
				org.apache.geronimo.specs
				geronimo-jta_1.1_spec
				1.1.1
			
			
				org.opensaml
				opensaml
				1.1
			
			
				org.apache.openjpa
				openjpa
				1.2.2
				test
				
					
						commons-logging
						commons-logging
					
				
			
			
				org.codehaus.groovy
				groovy-all
				2.4.5
			
			
				org.drools
				drools-core
				5.5.0.Final
			
			
				org.drools
				drools-compiler
				5.5.0.Final
			
			
				org.json
				json
				20070829
			
			
				org.mule.modules
				mule-module-cxf
				${mule.version}
			
			
				org.mule.tests
				mule-tests-functional
				${mule.version}
			
			
				org.mybatis
				mybatis
				3.4.2
			
			
				org.mockito
				mockito-core
				1.8.2
				test
			
			
				org.osgi
				org.osgi.core
				6.0.0
				provided
			
			
				org.osgi
				org.osgi.compendium
				5.0.0
				provided
			
			
				org.apache.felix
				org.apache.felix.fileinstall
				3.5.4
				true
			
			
				org.slf4j
				slf4j-jdk14
				1.7.6
			
			
				org.springframework
				spring-beans
				${spring.framework.version}
			
			
				org.springframework
				spring-core
				${spring.framework.version}
				
					
						commons-logging
						commons-logging
					
				
			
			
				org.springframework
				spring-context
				${spring.framework.version}
			
			
				org.springframework
				spring-aop
				${spring.framework.version}
			
			
				org.springframework
				spring-jdbc
				${spring.framework.version}
			
			
				org.springframework
				spring-orm
				${spring.framework.version}
			
			
				org.springframework
				spring-tx
				${spring.framework.version}
			
			
				org.springframework
				spring-context-support
				${spring.framework.version}
			
			
				org.springframework
				spring-web
				${spring.framework.version}
			
			
				org.springframework
				spring-webmvc
				${spring.framework.version}
			
			
				org.springframework
				spring-test
				${spring.framework.version}
			
			
				org.springframework.security
				spring-security-core
				${spring.security.version}
			
			
				org.springframework.security
				spring-security-config
				${spring.security.version}
			
			
				org.springframework.security
				spring-security-crypto
				${spring.security.version}
			
			
				org.springframework.security
				spring-security-web
				${spring.security.version}
			
			
				org.subethamail
				subethasmtp-wiser
				1.2
				test
				
					
						commons-logging
						commons-logging
					
				
			
			
				org.hsqldb
				hsqldb
				2.3.2
				test
			
			
				org.postgresql
				postgresql
				9.4-1201-jdbc4
				test
			
			
				wsdl4j
				wsdl4j
				1.6.2
			
			
				xerces
				xercesImpl
				2.10.0
			
			
				joda-time
				joda-time
				2.6
			
			
			
				com.fasterxml.jackson.core
				jackson-core
				2.7.5
			
			
				com.fasterxml.jackson.core
				jackson-annotations
				2.7.5
			
			
				com.fasterxml.jackson.core
				jackson-databind
				2.7.5
			
			
				org.apache.xmlgraphics
				batik-parser
				${batik.version}
			
			
				org.apache.xmlgraphics
				batik-transcoder
				${batik.version}
				
					
						commons-logging
						commons-logging
					
				
			
			
				org.apache.xmlgraphics
				batik-bridge
				${batik.version}
			
			
				org.apache.xmlgraphics
				batik-codec
				${batik.version}
			
			
				org.apache.xmlgraphics
				batik-css
				${batik.version}
			
			
				org.apache.xmlgraphics
				batik-svg-dom
				${batik.version}
			
			
				org.apache.xmlgraphics
				batik-svggen
				${batik.version}
			
			
				org.imgscalr
				imgscalr-lib
				4.2
			
			
				math.geom2d
				javaGeom
				0.11.1
			
			
			
				org.apache.camel
				camel-spring
				2.17.1
			
			
			
				org.safehaus.jug
				jug
				lgpl
				2.0.0
			
			
				com.fasterxml.uuid
				java-uuid-generator
				3.1.3
			
			
				net.sourceforge.jtds
				jtds
				1.3.0
			
			
				com.googlecode.catch-exception
				catch-exception
				1.2.0
				test
			
		
	

	
		modules/activiti-bpmn-model
		modules/activiti-process-validation
		modules/activiti-bpmn-layout
		modules/activiti-image-generator
		modules/activiti-bpmn-converter
		modules/activiti-form-model
		modules/activiti-form-api
		modules/activiti-dmn-model
		modules/activiti-dmn-api
		modules/activiti-engine
	

	
		
			
				maven-compiler-plugin
				2.3.2
				
					1.7
					1.7
					true
					true
					true
				
			
			
				maven-surefire-plugin
				2.7.1
				
					false
					false
					true
					
						**/*TestCase.java
					
					alphabetical
				
			
			
				org.apache.felix
				maven-bundle-plugin
				2.1.0
				true
				
					${activiti.osgi.exclude.dependencies}
					
						${project.name}
						${activiti.osgi.symbolic.name}
						${activiti.osgi.activator}
						${activiti.osgi.export}
						org.activiti.osgi;resolution:=optional,
							${activiti.osgi.import}
						${activiti.osgi.dynamic}
						${activiti.osgi.private.pkg}
						Activiti
						6.0.0
						${activiti.osgi.include.resource}
						<_versionpolicy>${activiti.osgi.import.default.version}
						<_removeheaders>${activiti.osgi.remove.headers}
						<_failok>${activiti.osgi.failok}
						${activiti.osgi.export.service}
						${activiti.osgi.import.service}
						${activiti.osgi.embed}
					
					
						6.0.0
					
				
			
		
		
			
				
					org.apache.maven.plugins
					maven-jar-plugin
					2.3.2
				
				
				
					org.eclipse.m2e
					lifecycle-mapping
					1.0.0
					
						
							
								
									
										org.apache.felix
										maven-bundle-plugin
										[2.1.0,)
										
											manifest
										
									
									
										
									
								
							
						
					
				
				
					org.apache.maven.plugins
					maven-release-plugin
					2.4.2
					
						forked-path
						false
						${arguments} -Psonatype-oss-release
					
				
			
		
	

	
		
			nofail
			
				true
			
		
		
			deploy
			
				modules/activiti-bpmn-model
				modules/activiti-process-validation
				modules/activiti-image-generator
				modules/activiti-bpmn-converter
				modules/activiti-engine
                modules/activiti-secure-tasks
                modules/activiti-secure-javascript
                modules/activiti-secure-service-tasks
				modules/activiti-bpmn-layout
				modules/activiti-json-converter
				modules/activiti-dmn-model
				modules/activiti-dmn-json-converter
				modules/activiti-dmn-xml-converter
				modules/activiti-dmn-engine
				modules/activiti-dmn-engine-configurator
				modules/activiti-dmn-rest
				modules/activiti-form-model
				modules/activiti-form-json-converter
				modules/activiti-form-engine
				modules/activiti-form-engine-configurator
				modules/activiti-common-rest
				modules/activiti-rest
				modules/activiti-webapp-rest2
				modules/activiti-spring
				modules/activiti5-engine
				modules/activiti5-compatibility
				modules/activiti5-spring
				modules/activiti5-spring-compatibility
				modules/activiti-spring-boot
				modules/activiti-cxf
				modules/activiti-mule
				modules/activiti-camel
				modules/activiti-ui
				modules/activiti-cdi
				modules/activiti-osgi
				modules/activiti-ldap
				modules/activiti-jmx
				modules/activiti-jms-spring-executor
				modules/activiti-admin
				tooling/archetypes/activiti-archetype-unittest
			
			
				
					
						org.apache.maven.plugins
						maven-source-plugin
						
							
								
									jar
								
							
						
					
					
						maven-javadoc-plugin
						
							-Xdoclint:none
						
						
							
								attach-javadocs
								
									jar
								
							
						
					
					
						org.apache.maven.plugins
						maven-gpg-plugin
						
							
								sign-artifacts
								verify
								
									sign
								
							
						
					
				
			
		
		
			check
			
				modules/activiti-bpmn-model
				modules/activiti-process-validation
				modules/activiti-image-generator
				modules/activiti-bpmn-converter
				modules/activiti-bpmn-layout
				modules/activiti-json-converter
				modules/activiti-spring
				modules/activiti-spring-boot
				modules/activiti-common-rest
				modules/activiti-rest
				modules/activiti-webapp-rest2
				modules/activiti-cxf
				modules/activiti-secure-tasks
				modules/activiti-secure-javascript
				modules/activiti-secure-service-tasks
				modules/activiti-form-json-converter
				modules/activiti-form-engine
				modules/activiti-form-engine-configurator
				modules/activiti-dmn-engine
				modules/activiti-dmn-model
				modules/activiti-dmn-json-converter
				modules/activiti-dmn-xml-converter
				modules/activiti-dmn-rest
				modules/activiti-jms-spring-executor
			
		
		
			
			checkJdk6
			
				modules/activiti-bpmn-model
				modules/activiti-process-validation
				modules/activiti-image-generator
				modules/activiti-bpmn-converter
				modules/activiti-bpmn-layout
				modules/activiti-json-converter
				modules/activiti-spring
				modules/activiti-common-rest
				modules/activiti-rest
				modules/activiti-webapp-rest2
				modules/activiti-cxf
				modules/activiti-secure-tasks
				modules/activiti-secure-javascript
				modules/activiti-secure-service-tasks
			
		
		
			checkmule
			
				modules/activiti-cxf
				modules/activiti-mule
			
		
		
			checkspring 
			
				modules/activiti-spring
			
		
		
			checkcdi
			
				modules/activiti-cdi
			
		
		
			checkosgi
			
				modules/activiti-osgi
			
		
		
			
			nodocs
			
				
					nodocs
				
			
			
				true
			
		
		
			distro
			
				modules/activiti-bpmn-model
				modules/activiti-process-validation
				modules/activiti-image-generator
				modules/activiti-bpmn-converter
				modules/activiti-bpmn-layout
				modules/activiti-json-converter
				modules/activiti-secure-tasks
				modules/activiti-secure-javascript
				modules/activiti-secure-service-tasks
				modules/activiti-dmn-model
				modules/activiti-dmn-json-converter
				modules/activiti-dmn-xml-converter
				modules/activiti-dmn-engine
				modules/activiti-dmn-engine-configurator
				modules/activiti-dmn-rest
				modules/activiti-form-model
				modules/activiti-form-json-converter
				modules/activiti-form-engine
				modules/activiti-form-engine-configurator
				modules/activiti-spring
				modules/activiti5-engine
				modules/activiti5-compatibility
				modules/activiti5-spring
				modules/activiti5-spring-compatibility
				modules/activiti-spring-boot
				modules/activiti-common-rest
				modules/activiti-rest
				modules/activiti-webapp-rest2
				modules/activiti-cxf
				modules/activiti-osgi
				modules/activiti-camel
				modules/activiti-mule
				modules/activiti-ui
				modules/activiti-cdi
				modules/activiti-ldap
				modules/activiti-jmx
				modules/activiti-jms-spring-executor
				modules/activiti-crystalball
				modules/activiti-admin
				tooling/archetypes/activiti-archetype-unittest
			
		
		
			database
			
				
					database
				
			
			
				modules/activiti-engine
			
		
		
			databaseform
			
				
					databaseform
				
			
			
				modules/activiti-form-model
				modules/activiti-form-api
				modules/activiti-form-engine
			
		
		
			databasedmn
			
				
					databasedmn
				
			
			
				modules/activiti-dmn-model
				modules/activiti-dmn-api
				modules/activiti-dmn-engine
			
		
		
			databasewithschemaform
			
				
					databasewithschemaform
				
			
			
				modules/activiti-form-model
				modules/activiti-form-api
				modules/activiti-form-engine
			
		
		
			databasewithschemadmn
			
				
					databasewithschemadmn
				
			
			
				modules/activiti-dmn-model
				modules/activiti-dmn-api
				modules/activiti-dmn-engine
			
		
		
			
			buildRestappDependencies
			
				modules/activiti-bpmn-model
				modules/activiti-process-validation
				modules/activiti-image-generator
				modules/activiti-json-converter
				modules/activiti-secure-tasks
				modules/activiti-secure-javascript
				modules/activiti-secure-service-tasks
				modules/activiti-bpmn-converter
				modules/activiti-engine
				modules/activiti-spring
				modules/activiti-common-rest
				modules/activiti-rest
			
			
				true
			
			
				
					
						org.zeroturnaround
						jrebel-maven-plugin
						
							
								generate-rebel-xml
								process-resources
								
									generate
								
							
						
					
				
			
		
		
			java8
			
				
					
						org.apache.maven.plugins
						maven-javadoc-plugin
						
							
								attach-javadocs
								
									jar
								
							
						
						
							-Xdoclint:none
						
					
				
			
		
	

	

	http://activiti.org
	
		
			Apache v2
			http://www.apache.org/licenses/LICENSE-2.0.html
		
	
	
		Alfresco
		http://www.alfresco.com
	
	
		
			Tijs Rademakers
			Alfresco
			http://www.alfresco.com
		
		
			Joram Barrez
			Alfresco
			http://www.alfresco.com
		
		
			Frederik Heremans
			Alfresco
			http://www.alfresco.com
		
		
			Erik Winlöf
			Alfresco
			http://www.alfresco.com
		
		
			Yvo Swillens
			Alfresco
			http://www.alfresco.com
		
		
			Josh Long
			Pivotal
			http://www.pivotal.com
		
		
			Etienne Studer
			Edorasware
			http://www.edorasware.com
		
		
			José Antonio Álvarez
			Edorasware
			http://www.edorasware.com
		
		
			Guy Brand
			Edorasware
			http://www.edorasware.com
		
		
			Martin Grofcik
			Edorasware
			http://www.edorasware.com
		
		
			Christian Muelder
			Next Level Integration
			http://next-level-integration.com/
		
		
			Christian Stettler
		
		
			Saeid Mirzaei
			Atos worldline
			http://www.worldline.com/
		
	
	
		JIRA
		https://activiti.atlassian.net/browse/ACT
	
	
		Bamboo
		http://bamboo.ci.codehaus.org/browse/ACT
	
	
		[email protected]:Activiti/Activiti.git
		scm:git:[email protected]:Activiti/Activiti.git
		scm:git:[email protected]:Activiti/Activiti.git
	

4.修改activiti-spring-boot-starter-basic的pom

修改其版本号,并显式的去定义activiti版本号为6.0.0


	4.0.0


	
		org.activiti
		activiti-spring-boot-starters
		6.0.0
	

	activiti-spring-boot-starter-basic
	6.0.0-boot2
	

	
		
		
			org.springframework.boot
			spring-boot-configuration-processor
			true
		

		
		
			org.activiti
			activiti-engine
			6.0.0
		
		
			org.activiti
			activiti-spring
			6.0.0
		
		
			org.springframework.boot
			spring-boot-starter-jdbc
		

		
		
			org.activiti
			activiti-rest
			6.0.0
			
				
					org.slf4j
					slf4j-api
				
				
					org.slf4j
					slf4j-log4j12
				
			
			true
		
		
			org.activiti
			activiti-common-rest
			6.0.0
			true
		

		
		
			org.springframework.integration
			spring-integration-java-dsl
			${spring-integration-java-dsl.version}
			true
		
		
			org.codehaus.groovy
			groovy
			1.7.5
			test
		

		
		
			org.activiti
			activiti-image-generator
			6.0.0
			true
		
		
			org.activiti
			activiti-bpmn-model
			6.0.0
			true
		
		
			org.activiti
			activiti-bpmn-layout
			6.0.0
			true
		


		
		
			org.springframework.boot
			spring-boot-starter-actuator
			true
		
		
			org.springframework.boot
			spring-boot-starter-web
			true
		

		
			org.springframework.boot
			spring-boot-starter-data-jpa
			true
		

		
			org.springframework.boot
			spring-boot-starter-integration
			true
		
		
			org.springframework.boot
			spring-boot-starter-security
			true
		

		
		
			com.h2database
			h2
			test
		
	

	
		
			distro
			
				
					
						org.apache.maven.plugins
						maven-source-plugin
						2.1.1
						
							
								attach-sources
								package
								
									jar-no-fork
								
							
						
					
				
			
		
	

5.最后安装依赖包

mvn clean install -DskipTest

 

你可能感兴趣的:(项目笔记)