如何一次编译多个独立的mxml文件?

时间:2009-06-11 15:41:32

标签: flex mxml compilation mxmlc

我们的应用程序有超过15种不同的顶级mxml文件,用于创建我们页面中使用的各个控件。

我们使用Ant进行自动构建,并分别为每个mxml文件调用mxmlc任务(参见question 78230类似示例)。但是,为每个mxml文件单独运行编译器已经累积了相当长的时间。我们的构建时间接近10分钟,5分钟用于编译我们的flex应用程序,5分钟用于编译java类的hundreads,构建jar,安装程序等。每个flex编译运行相当快(15-20秒),但它们加起来。

有没有办法通过一次调用mxmlc编译所有这些?

2 个答案:

答案 0 :(得分:1)

加速它的一种方法是使用compc将除顶级类之外的所有内容编译成一个大SWC,然后编译顶级类并将SWC用作库。这样,多个应用程序使用的类只会被编译一次。

但是,编译Flex应用程序所花费的时间的大部分贡献者是JVM启动时间,每次编译都会启动它自己的JVM(加上一个用于Ant进程)。避免这种情况的一种方法是使用Flex编译器Shell(fcsh)而不是Ant,但这当然有它的缺点。另一种方法是尝试HellFire,它在一个单独的永远在线进程中运行编译器,这意味着不再需要等待JVM启动。

答案 1 :(得分:0)

  1. 为什么不使用Flex Builder自动编译所有内容?
  2. mxml文件是组件和/或模块吗?我认为mxmlc会自动编译它们,它们是由主应用程序链接的,但我不确定......