打包Activiti的流程资源文件(bpmn20.xml、form、png)

1.资源文件介绍

Activiti的流程定义文件可以直接部署bpmn20.xml、zip、bar文件,其中后面的zip和bar类型一样都是压缩文件格式,bpmn20.xml是符合bpmn2.0规范的xml定义。 今天要解决的问题就是帮助大家打包流程资源文件,其中肯能包括:bpmn20.xml、png、form等文件。

大多数开发人员都是用Activiti Designer来设计流程定义,可能业务人员使用了其他的流程设计器来描述业务,然后开发人员用Activiti Designer来“深加工”以便让计算机能读懂流程的走向及其逻辑。

如何打包是最近“Activiti中文”群里问的比较多的问题之一,因为太忙没用时间一一说明,这也是因为目前的5.9版本设计器导致的,主要是在5.9版本之前设计器会自动生成一个bpmn20.xml文件,而5.9版本中不再使用之前的.activiti文件,直接把设计与最终的流程定义文件合并为一个bpmn文件。具体的说明请参考《从Activiti
Designer5.8升级到5.9遇到的问题
》。

下面我们以kft-activiti-demo项目中的请假流程为例介绍如何打包,项目结构如下图。

2.打包Zip|Bar格式

2.1 手动打包

看了刚刚提到的文章应该明白leave.bpmn和在5.8版本中生成的bpmn20.xml一样,所以可以直接把leave.bpmn复制一份改名为leave.bpmn20.xml,然后手动把leave.bpmn20.xmlleave.png用压缩工具打包成leave.zip即可。

2.2 Ant脚本自动打包

用ant脚本无非就是代替手动操作让工具自动根据配置打包,我在kft-activiti-demo(master分支)项目中添加了此功能,把里面的代码拿出来分享给大家。

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

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

<project

name
="kft-activiti-demo"

default
="welcome">

    <!--
properties from files -->

    <property

file
="${user.home}/.kafeitu/build.properties">

    <property

file
="build.properties">

 

    <!--
properties from key value -->

    <property

name
="workflow.diagrams"

value
="src/main/resources/diagrams">

    <property

name
="workflow.deployments"

value
="src/main/resources/deployments">

 

    <!--
流程定义:每个模块的路径 -->

    <property

name
="wd.leave"

value
="${workflow.diagrams}/leave">

 

    <!--
显示欢迎信息以及操作提示 -->

    <target

name
="welcome">

        <echo>Activiti演示程序,请输入命令后操作!</echo>

    </target>

 

    <!--
请假流程定义打包 -->

    <target

name
="workflow.package.leave">

        <echo>打包流程定义:请假(自定义表单)</echo>

        <copy

file
="${wd.leave}/leave.bpmn"

tofile
="${wd.leave}/leave.bpmn20.xml">

        <zip

destfile
="${workflow.deployments}/leave.zip"

basedir
="${wd.leave}"

update
="true"

includes
="*.xml,*.png">

        <delete

file
="${wd.leave}/leave.bpmn20.xml">

    </delete></zip></copy></target>

 

    <!--
流程定义打包 -->

    <target

name
="workflow.package.all"

depends
="workflow.package.leave">

    </target>

</property></property></property></property></property></project>



熟悉Ant的读者很快就能看懂这些配置信息及其目的,对于不熟悉Ant的稍微介绍一下。

  • 第4、5行处读取一些配置信息,目前还未用到外部配置,可以先忽略;
  • 第7~13行处用于配置一些文件的路径,其中workflow.diagrams就是bpmn和png文件所在的目录,只不过里面又根据模块细分了;
  • 第21~26行处才是重点,首先复制bpmn文件为bpmn20.xml,然后把bpmn20.xml和png文件打包成zip文件

使用方法如下:

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19


henryyan@hy-mbp  ~kad git:(master) ant workflow.package.all

Buildfile:
/Users/henryyan/work/projects/activiti/kft-activiti-demo/build.xml

 

workflow.package.leave:

     [echo]
打包流程定义:请假(自定义表单)

     [copy]
Copying 1
file

to
/Users/henryyan/work/projects/activiti/kft-activiti-demo/src/main/resources/diagrams/leave

      [zip]
Updating zip:
/Users/henryyan/work/projects/activiti/kft-activiti-demo/src/main/resources/deployments/leave.zip

   [delete]
Deleting:
/Users/henryyan/work/projects/activiti/kft-activiti-demo/src/main/resources/diagrams/leave/leave.bpmn20.xml

 

workflow.package.leave-dynamic-from:

     [echo]
打包流程定义:请假(动态表单)

     [copy]
Copying 1
file

to
/Users/henryyan/work/projects/activiti/kft-activiti-demo/src/main/resources/diagrams/leave-dynamic-from

      [zip]
Updating zip:
/Users/henryyan/work/projects/activiti/kft-activiti-demo/src/main/resources/deployments/leave-dynamic-from.zip

   [delete]
Deleting:
/Users/henryyan/work/projects/activiti/kft-activiti-demo/src/main/resources/diagrams/leave-dynamic-from/leave-dynamic-from.bpmn20.xml

 

workflow.package.all:

 

BUILD
SUCCESSFUL

Total
time:
0 seconds

如果有外部form文件也可以加入到zip包中。

3.打包bar格式

bar文件就是zip格式的,仅仅是扩展名不同而已,所以打包bar文件直接用上面的方式,只不过把扩展名zip更好成bar就可以了。

3.1 自动打包Bar文件

如何打包Bar我就不多说了,官网的手册已经说的很详细了,请移步:http://www.activiti.org/userguide/index.html#eclipseDesignerBPMNFeatures,找到Activiti
Designer deployment features
有详细的说明。

时间: 2024-08-02 18:10:01

打包Activiti的流程资源文件(bpmn20.xml、form、png)的相关文章

WinForm 打包部署时,资源文件和自己添加的一些文件夹,怎么加进去?

问题描述 这样的在打包部署winform项目时,按照网上的教程做,发现在安装时,自己添加的文件夹没有添加进去和资源文件(resouce)中的文件,不知道怎么弄,比较急,希望知道的大神能够提点一下! 解决方案 解决方案二:如果文件(不管是在工程里还是外面)导入进了.resx文件,默认为编译进当前工程的程序集中如果是一般的文件,又不想嵌入到.resx文件,则可以将文件的属性>复制到输出目录>始终复制文件的属性>生成操作>内容文件制作安装包的时候,在选择默认的主输出的基础上,你再手动将&

我的Android进阶之旅------&amp;gt;Android资源文件string.xml中\u2026的意思

      今天看了一个string.xml文件,对其中的一行代码中包含的\u2026不是很理解,后来查阅资料后发现了其中的意思. 代码如下: <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="loading_video">加载视频\u2026</string> </resources> 解释: 其中的 \u202

Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)

最近有一个需要,我们公司做了一个apk客户端,然后其他的公司可以根据自己的需要来替换里面的资源图片,文字等一些资源文件问题,我本来想这个简单,用两个工程直接替换里面的资源文件就行,老大说,这样子不好,如果要改需要改两个客户端,而且还麻烦,叫我将所有的Activity打成Jar包的形式,这样子我们改了里面的内容就直接发布Jar包出去,其他公司直接下载Jar来使用,这样子他们自己公司也能更好的维护. 所以我就想直接将Activity打成Jar包,可是在使用的过程中发现这样子根本行不通,因为如果Act

Android APK反编译查看源码及资源文件

本文主要介绍如何反编译Android应用程序查看源代码.资源文件和xml文件以及修改后重新打包成APK.鼓励大家反编译去学习他人的设计而不是将应用换壳后混乱市场.也可以直接使用网友整理的 anti-droid. Android APK实际就是个Zip文件,可以解压缩后反编译查看源代码和资源文件.以下以微信为例: 我们可以右击APK文件,"打开方式"选择Winrar压缩文件管理器,截图如下: 是不是跟程序的目录结构很像,源码已经被压缩在了classes.dex文件中.这里我们可以直接查看

Android国际化资源文件自动化生成工具

一.工具起源            如果在做一个产品的过程当中,可能会涉及到多个apk的开发,而且要求实现多国语言.而这些apk可能会由多人分工共同完成.但如果这样的话,每个人都需要整理各自apk所要显示的文字交给专人来翻译.专人负责收集和翻译文字,翻译完了之后再交给每个开发者.比如这个产品中的所有apk都需要支持10国语言,也就是说每个开发人员,要拿着翻译好的文字,在各自负责的项目中创建这10个语种的资源文件,并且将这10个语种的文字依次放入到不同语种目录下的资源文件中.而且当apk写完后,后

Android 资源文件中的符号含义与说明

http://blog.csdn.net/wyzxk888/article/details/7445408 一.@ 代表引用资源 1.引用自定义资源.格式:@[package]:type/name android:text = "@string/hello" 2.引用系统资源.格式:@android:type/name android:textColor="@android:color/opaque_red" (@android:type/name 是 @[pack

解决 IDEA 中src下xml等资源文件无法读取的问题

该问题的实质是,idea对classpath的规定. 在eclipse中,把资源文件放在src文件夹下,是可以找到的: 但是在idea中,直接把资源文件放在src文件夹下,如果不进行设置,是不能被找到的. 下面说说几种解决方法,网上说的都很混乱,我这里做一个总结:推荐方法4 1.将所有资源文件放在resources文件夹下 这样做很方便,比较容易想到,但是层次性就很差了,比如mybatis的映射配置文件mapper.xml,本来需要放在特定的包里面,与dao层,service层等层次为同一个层级

控件注册 - 利用资源文件将dll、ocx打包进exe文件(C#版)

原文:控件注册 - 利用资源文件将dll.ocx打包进exe文件(C#版)       很多时候自定义或者引用控件都需要注册才能使用,但是如何使要注册的dll或ocx打包到exe中,使用户下载以后看到的只是一个exe,点击直接运行呢?就像很多安全控件,如支付宝的aliedit.exe那样.         现在介绍一种使用资源文件,将dll.ocx打包进exe,点击直接注册的例子:       首先,新建一个工程RegisterFile.  新建文件夹Resource,里面添加需要注册的ocx或

android apk代码和xml资源文件反编译

一.反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD-GUI 前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码.以下是下载地址: dex2jar:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip JD-GUI:http://laichao.googlecode.com/files/jdgui.zip 具体步骤: 首先将apk文件