基础环境

环境搭建是一个无聊乏味的过程 ,这里使用 scoop 直接搭建完成 ,不知道 scoop 可以访问我的博客 .

当然 ,如果你的博客已经有了下面这些环境 ,不需要安装直接体验 .

scoop install java/oraclejdk8
scoop install idea-ultimate
scoop install eclipse-jee
scoop install extras/mysql56
scoop install maven

Mysql 这里启动就是最基本的命令 , mysqld .可能会提示你缺少一些 dll 文件 ,百度搜索解决即可 ,然后通过 mysql 连接 .

Maven 中央仓

下载好 Maven 复制一份 conf/setting.xml 到用户文件 ~/.m2 下 ,在 mirror 添加阿里中央仓 ,如下所示 .

    <!-- 阿里中央仓 --><mirror><id>ali</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central/</url></mirror>

eclipse - 设计 BPM 工具

添加软件源 https://www.activiti.org/designer/update/

创建 Activiti 项目并在 main/resource 下创建流程图 .

设计一个流程图 ,这个有点技术的都应该知道 ,灰常简单 .我设计的流程图 ,截图如下 :

这个工具 idea

又爱又恨的 idea ,其实熟悉操作了就好了 .文件目录结构如下 :

----Leaveman|----apps|----activiti 学习 act 中 ,希望做出一个灵活调整的请销假系统 ;|----swagger 未完成

activiti.pom 配置文件如下 :

```java

<?xml version="1.0" encoding="UTF-8"?>

apps
ink.nodie.leaveman
1.0-SNAPSHOT

4.0.0

<artifactId>activiti</artifactId><dependencies><!--添加 activiti 引擎 配置 resources 下的 activiti.xml--><dependency><groupId>org.activiti</groupId><artifactId>activiti-engine</artifactId><version>6.0.0</version></dependency><!--添加 测试 配置 scope <test> --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><!--添加 日志 配置 resources 下的 activiti.xml--><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version></dependency><!--添加 guava 谷歌优质开发包--><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>23.0</version></dependency><!--添加 内建演示数据库--><dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><version>1.4.196</version></dependency></dependencies><build><plugins><!--局部制定 JDK 1.8 版本--><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins>
</build>

```
快速编写一个基于定义文件的 HelloWorld 示例程序 .

package ink.nodie.leaveman.demo;import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.repository.DeploymentBuilder;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.runtime.ProcessInstance;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class DemoMain {private static final Logger log = LoggerFactory.getLogger(DemoMain.class);public static void main(String[] args) {log.info("Start Process");//        构建引擎ProcessEngine processEngine = getProcessEngine();RepositoryService repositoryService = processEngine.getRepositoryService();//        构建部署Deployment deployment = getDeployment(repositoryService);//        流程定义ProcessDefinition processDefinition = getProcessDefinition(repositoryService, deployment);//        启动流程processStart(processEngine, processDefinition);log.info("End Process");}private static void processStart(ProcessEngine processEngine, ProcessDefinition processDefinition) {RuntimeService runtimeService = processEngine.getRuntimeService();ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinition.getId());log.info("[{}] processStart", processInstance.getProcessDefinitionKey());}private static ProcessDefinition getProcessDefinition(RepositoryService repositoryService, Deployment deployment) {String deploymentId = deployment.getId();ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().deploymentId(deploymentId).singleResult();log.info("processDefinitionName [{}]", processDefinition.getName());return processDefinition;}private static Deployment getDeployment(RepositoryService repositoryService) {DeploymentBuilder builder = repositoryService.createDeployment();builder.addClasspathResource("GeneralLeaveProcess.bpmn20.xml");return builder.deploy();}private static ProcessEngine getProcessEngine() {ProcessEngineConfiguration cfg = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration();ProcessEngine processEngine = cfg.buildProcessEngine();String name = processEngine.getName();String version = processEngine.VERSION;log.info("{} version:[{}]", name, version);return processEngine;}
}

转载于:https://www.cnblogs.com/son9wx/p/10495376.html

QuickMan 手记 - Activiti 环境搭建相关推荐

  1. Activiti Workflow HelloWorld 示例与测试环境搭建

    作者:Rock 出处:http://www.ecmkit.com/zh-hans/2012/03/21/activiti-workflow-hell Activiti Workflow HelloWo ...

  2. 学习笔记之-Activiti7工作流引擎,概述,环境搭建,类关系图,使用Activiti BPMN visualizer,流程变量,组任务 网关,Activiti整合Spring SpringBoot

    本篇学习笔记是观看黑马程序员Activiti7视频而得 Activiti7 一.工作流介绍 1.1 概念 工作流(Workflow),就是通过计算机对业务流程自动化执行管理.它主要解决的是" ...

  3. 无Mac机IOS开发环境搭建手记

    一直以来都是做Web开发的,说实话时间长了总有些腻烦的感觉.最近一直在关注移动领域的开发,想从这个从未入手过的领域找点新鲜感和激情.在 Android和IOS之间的技术选型上确实犹豫了好久,Andro ...

  4. 众筹网站项目第一天之项目环境搭建和环境测试

    打开原教程视频 注:本人是编程小白,这个是我第一个尝试的项目,编写该系列博客是为了记录第一次做项目的经历,其中肯定会有不少不成熟的操作甚至错误之处,如果可以,希望大神指出,谢谢大家. 资料准备 点击获 ...

  5. Anaconda3+python3.7.10+TensorFlow2.3.0+PyQt5环境搭建

    Anaconda3+python3.7.10+TensorFlow2.3.0+PyQt5环境搭建 一.Anaconda 创建 python3.7环境 1.进入 C:\Users\用户名 目录下,找到 ...

  6. Windows10+Anaconda3+Pycharm环境搭建

    Windows10+Anaconda3+Pycharm环境搭建 一.安装Anaconda3 1.进入 anconda官网,下载Anaconda3 2.安装,选项默认继续安装(可以自行更改安装位置),等 ...

  7. SpringCloud Alibaba微服务实战(一) - 基础环境搭建

    说在前面 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来 ...

  8. 2021年大数据环境搭建(二):分布式环境搭建

    2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 分布式环境搭建 集群规 ...

  9. 2021年大数据Spark(八):环境搭建集群模式 Standalone HA

    环境搭建-Standalone HA 高可用HA Spark Standalone集群是Master-Slaves架构的集群模式,和大部分的Master-Slaves结构集群一样,存在着Master单 ...

最新文章

  1. R语言常用的统计函数
  2. Spring Aspect 获取请求参数
  3. 【JetPack】视图绑定 ( ViewBinding ) 各种应用 ( 视图绑定两种方式 | Activity 布局 | 对话框布局 | 自定义组件布局 | RecyclerView 列表布局 )
  4. windbg查看SSDT表
  5. 技术解析系列 | PouchContainer CRI的设计与实现
  6. Android ndk使用
  7. 使用 C# 开发浏览器扩展
  8. linux光盘运行iso,如何在Windows,Mac和Linux上从光盘创建ISO文件 | MOS86
  9. 不规则动词的一般过去时
  10. [转]memcached+magent实现memcached集群
  11. 顺序表操作集 (20 分)
  12. 字符串替换(NYOJ)
  13. metasploit下载教程linux,Metasploit 3.6安装与配置之Linux篇
  14. [附源码]java毕业设计社区医院电子病历系统
  15. wex5bex5 ---- (一)
  16. java编写程序防止电脑屏幕休眠
  17. 人机对战初体验—四子棋游戏
  18. 面试题(4)Oracle
  19. 我理解的云桌面(或桌面云)
  20. 论文Anonymous Zether实验复现(持续更)

热门文章

  1. ASP.NET抓取网页内容
  2. solaris10默认防火墙软件ipfilter
  3. 感恩节快乐,PM2小窍门致NodeJS开发者!
  4. Linux 用户组权限讲解
  5. Ubuntu 16.04安装UML工具StarUML 2
  6. 新IT运维模式下,全栈溯源助你解应用性能监控难题
  7. 三星集团总市值达3220亿美元,高阿里巴巴近千亿
  8. php识别中文编码并自动转换为UTF-8
  9. Android多媒体整体架构图
  10. 关系数据库SQL之可编程性存储过程 1