最近为了持续集成,想将flex的编译形成自动化。所以做了一些探索,虽然最后放弃了,但也有一些认识,写出来可以少走一些弯路。
- Flex的编译都是基于mxmlc编译机制
- flex-mojos也是基于mxmlc的编译机制(flexsdk提供了mxmlc编译器的jar版本)
- FlashBuilder有自己的一套编译机制,在mxmlc编译器的基础上优化了flex多模块多应用的编译
- mxmlc只能运行于32位jvm中
- flashbuilder提供了ant机制的自动编译发布的方法
经过对以上的探索,对于想做自动化编译机制的结果如下
1.调用flex sdk中的mxmlc.exe编译,需要自己写flex-config.xml文件,且一次命令调用只能编译一个as或mxml文件,且编译出的swf比flashbuilder编译出的大30%
2.利用maven结合flex-mojos插件编译,flex-mojos插件的文档非常少,用起来很困难,但解决了mxmlc一次只能编译一个源文件的问题,但同时也带来了许多垃圾文件
编译出的swf也比flashbuilder编译出的大
3.flashbuilder中自带的自动编译发布的方法文档太少,按照文档中所述,最终没有运行起来;