## Activiti6 学习笔记六:官方DEMO之activiti-app源码部署
### 一、章节目标
在《Activiti 学习笔记三:官方DEMO之activiti-app》一章中其实我们已经介绍了 activiti-app 的功能,为何还会有这一章节?
其实试用了 activiti-app 之后,我们发现这个demo基本已经满足了我们对流程引擎的要求:有流程定义、有表单定义、能跑APP,能跑任务,这不就是我们要的功能?既然有了怎么办?改呀!是的,所以这节就是讲解如果用源码来跑这个项目,后面的如何改造,就要靠各位的功力了。
> 注:如果各位还是想自行实现,那么可以跳过此章节。
* * * * *
### 二、技能要求
1、git - 这个很简单,就是 git clone 、git branch 和 git checkout 而已
2、maven - 老外的项目现在很多都使用maven管理
3、tomcat - activiti-app 它是个 web 项目啦
4、linux - win环境下下载的只有github源码的主目录,这里需要用linux下的git配合
> 注:博主是个半调子java,所以研究源码的时候的,花了不少功夫来折腾相关的东西,如果你是新手司机,建议还是老老实实学半年java再来。
* * * * *
### 三、部署过程
#### 1、源码下载
首先去 https://github.com/Activiti/Activiti 下载源码,不过要注意的是源码的主干是最新的版本,版本号是7,而我们用的是 6,所以下载的时候要找到 6 版本分支的代码。
这里建议用linux的命令行来下载。
1)git clone https://github.com/Activiti/Activiti
2)进入下载好的 Activiti 文件夹,执行 git branch -a 查看所有的分支,这里的 6.x 就是我们要找的版本
![](https://box.kancloud.cn/1b82c7fdbd21639f738087a7829051cc_365x158.png)
3)执行 git checkout/origin/6.x 切换代码,然后再执行 ls 可以看到 6 版本分支的代码了。
![](https://box.kancloud.cn/8f9226bb327f06fab8993d86c9d4a99a_597x43.png)
4)接着我们进入目录下的 modules/activiti-ui,其中 activiti-app、activiti-app-conf、activiti-app-logic和activiti-app-rest就是我们这次部署的主角。
![](https://box.kancloud.cn/1354f4cd6539bc67a04134181de9727e_483x173.png)
#### 2、项目配置
使用Myeclipse分别打开这4个项目,然后将项目转换为maven项目。
![](https://box.kancloud.cn/fc3f6c488c4a8fdfafb2d5399cb71f42_160x86.png)
分别修改POM里面的设置,将依赖的 activiti-ui-root 版本全部改成 6.0.0。
![](https://box.kancloud.cn/dbacaa572f2d0933509d46d1ab6bec21_558x239.png)
注:依赖里面使用的是 6.0.1版本,但是由于官方没有上传这个版本到 maven 的主库,所以一定会更新不下来!所以这里我们还是要用回 6.0.0的版本。
配置完成后,接下来等待 maven 更新依赖就可以了。
#### 3、启动项目
由于 activiti-ui 是一个web项目,所以我们直接使用 tomcat 来启动项目,然后 tomcat 就会在其 webapps 目录下生成一个可运行的项目了。
![](https://box.kancloud.cn/ed973d910b378d13475f554767c8d3af_499x150.png)
但是这里目前有一个坑,就是生成项目的时候,不会自动生成 apache-tomcat-7.0.82\webapps\activiti-app\WEB-INF\classes\META-INF\activiti-app\activiti-app.properties 这个配置文件,所以我们复制一下 activiti-app 下的 activiti-app.properties 文件到上面的目录中。
![](https://box.kancloud.cn/387d297170c95df495ad9e8d1163d9bf_284x110.png)
![](https://box.kancloud.cn/f8479ea989c4e3b93bddbe16d38e9ea5_819x112.png)
OK,现在我们再次运行项目,就可以跑起来了。
![](https://box.kancloud.cn/f330a0158cf297ca966d68050cc0f687_340x227.png)
![](https://box.kancloud.cn/05d09d8106f37ff26c88a7cc90673113_648x147.png)
启动完成后,浏览器直接打开 http://localhost:8080/activiti-app 路径即可。
#### 4、改造项目
前面的文档说到,不同的子项目划分不同的逻辑,但是我们在修改的时候,修改 activiti-app、activiti-app-conf、activiti-app-logic和activiti-app-rest 中的任何一个都可以直接生效。
例如我修改了 activiti-app-conf,然后eclipse就会直接重新加载,在console中可以看到相关内容。
![](https://box.kancloud.cn/c7f0a9c1cbc6b189dbd49040f5d1864a_734x55.png)
![](https://box.kancloud.cn/bf610f1bb1f25c16f4adc3ad1b60f26c_736x56.png)
* * * * *
### 四、章节小结
本章只是讲解了如何部署这个项目,后续会有章节来解析源码。