
1.2 编译源码
首先需要打开GitHub,单击图1-1中的GitShell选项,打开之后,需要设置期望将源码下载到的本地目录,该操作需要使用cd命令手动进行,比如想要将下载的源码存储到E:\activiti下,则可以执行命令:cdE:\activiti,接下来输入以下命令:
gitclonehttps://github.com/Activiti/Activiti.git
其中,https://github.com/Activiti/Activiti.git为Activiti的源码地址,执行以上命令之后便开始进行源码下载,如图1-3所示。

图1-3 使用GitHub下载Activiti源码
源码下载可能比较耗时,经过一段时间的耐心等待,窗口状态如图1-4所示。

图1-4 Activiti源码下载之后的窗口显示
这时进入目录E:\activiti,该目录已经存在了下载的源码,源码目录如图1-5所示,相关说明如下。

图1-5 下载的Activiti源码
(1)distro:使用Ant工具下载文档资料以及将Activiti项目打包。
(2)README.md:记录Activiti团队的JIRA和QA地址。
(3)eclipse:Activiti团队使用的Eclipse模板文件。
(4)modules:该文件夹下存储了Activiti项目所有模块的Java源文件。
(5)qa:一些通用的流程配置文件样例。
(6)scripts:Linux平台下的一些启动脚本文件。
(7)userguide:用户操作手册,需要使用Asciidoctor工具生成。
(8)pom.xml:所有Maven工程的parent。Activiti工程依赖的第三方程序包均定义在该文件中。
获取源码之后,接下来就是对源码进行编译。首先打开控制台,然后在控制台中输入命令cdE:\activiti,最后输入命令mvninstall-Dmaven.test.skip=true,该过程可能非常耗费时间,经过一段时间之后,如果不出意外,控制台的输出如图1-6所示。

图1-6 Activiti源码编译成功
这时再次进入图1-5modules文件中的任意一个子目录(Activiti工程模块)就会发现,已经有了Eclipse工程需要的.classpath和.project文件,如图1-7所示。接下来打开Eclipse工具,将工程导入,如图1-8所示。

图1-7 Eclipse可以识别的Activiti源码

图1-8 导入Eclipse后的源码工程
下面对activiti-engine的源码工程图进行相关说明。
(1)src/main/java:用于存放项目工程的核心实现逻辑代码。
(2)src/main/resources:用于存储配置文件。
(3)src/test/java:对核心代码进行单元测试。
(4)src/test/resources:存储对核心代码进行单元测试时需要使用的配置文件。
注意
Activiti更多版本的下载可以进入Activiti官网http://www.activiti.org/download.html, Activiti项目的GitHub网站为https://github.com/Activiti/Activiti。