还记得我们2005年发布的《使用ANT编译您的MXML文件》吗?当时就想是否可以写一个Flex ant任务用来编译flex,现在不用了,Adobe的labs网站终于发布了这个早就该发布的个Flex Ant Task工具,像我这样机子不够强劲的朋友现在可以用上官方版本的ant编译工具编译Flex了,相对我们自己利用mxmlc.jar写的flex ant编译方法来说,这次发布的flex ant工具的效率会高很多,对资源的要求好像也更低。

具体的使用方法我这里不再多说,Adobe labs网站有详细的说明,这里我们给出一个完整的flex ant工程范例,大家可以参照的修改。

立刻下载:FlexAntTaskSampleProject.tar.gz

该范例文件结构如下:

[bash]
|
|-------bin/
|-------flexTasks/
|-------src/
|-------build.xml

其中,bin为编译结果输出目录,flexTasks为flex ant Task相关的库文件及html封装需要的文件,src是存放flex源代码的目录,build.xml为ant任务配置文件。

build.xml中,FLEX_HOME定义的是Flex SDK的位置,<compile/>任务编译mxml/as文件,<wrapper/>任务是给swf封装html文件用的,剩下的两个<clean />任务是用来清除残留文件,方便编译使用,执行<compile/>和<wrapper/>会自动调用相应<clean />任务,大家不需要手工调用<clean />任务。

另外,为了编译任意文件,定义了两个属性:fileName和fileExt,分别对应要编译的文件的文件名和扩展名,比如flexAnt_Prac.mxml,则该两个参数分别应该为名flexAnt_Prac和mxml,它们均需要您调用ant编译时传入,例如:

ant -DflexAnt_Prac -Dmxml

如果是在eclipse中,请如下设置:

关于Eclipse中的详细配置,请查看《Flex2 发现之旅:使用ANT编译您的MXML文件》中关于eclipse ant设置部分的说明。

PS:本次Adobe labs网站还发布一个增加了类库预载入功能以提高编译性能的Flex Shell编译工具和一个用来在Jsp页面中实时编译mxml文件以便在嵌入flex的Flex 2 JSP标签库,看样子Adobe在拉拢Java开发人员哦,哈!