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

Apache flex 如何一次编译多个独立的mxml文件?,apache-flex,mxml,compilation,mxmlc,Apache Flex,Mxml,Compilation,Mxmlc,我们的应用程序有超过15个不同的顶级mxml文件,用于创建页面中使用的各个控件 我们使用Ant进行自动化构建,并分别为每个mxml文件调用mxmlc任务(参见类似示例)。然而,为每个mxml文件单独运行编译器已经花费了相当多的时间。我们的构建时间接近10分钟,编译我们的flex应用程序需要5分钟,编译大量java类、构建JAR、安装程序等需要5分钟。每个flex编译运行都相当快(15-20秒),但它们加起来很快 有没有一种方法可以通过一次调用mxmlc来编译所有这些文件 为什么不使用Flex B

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

我们使用Ant进行自动化构建,并分别为每个mxml文件调用mxmlc任务(参见类似示例)。然而,为每个mxml文件单独运行编译器已经花费了相当多的时间。我们的构建时间接近10分钟,编译我们的flex应用程序需要5分钟,编译大量java类、构建JAR、安装程序等需要5分钟。每个flex编译运行都相当快(15-20秒),但它们加起来很快

有没有一种方法可以通过一次调用mxmlc来编译所有这些文件

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

  • 加快速度的一种方法是使用
    compc
    将除顶级类以外的所有类编译成一个大的SWC,然后编译顶级类并将SWC用作库。这样,由多个应用程序使用的类将只编译一次


    然而,编译Flex应用程序所需时间的一个重要因素是JVM启动时间,每次编译都会启动自己的JVM(另外一个用于Ant进程)。避免这种情况的一种方法是使用Flex编译器外壳(
    fcsh
    )而不是Ant,但这当然有它的缺点。另一种方法是尝试,它在一个单独的始终打开的进程中运行编译器,这意味着不再等待JVM启动。

    它们是模块。每一个都被编译成一个独立的swf文件,显示在特定的页面上。我们有一个part html/part flex webapp,在其中我们将不同的flex模块插入到不同的页面中。与完全独立的mxml文件相比,这种设置有更好的设计吗?模块将集成到主应用程序中。将每个模块放在不同的页面上似乎是一种糟糕的做法。为什么不在Flex中编写整个代码呢?单独的模块提供不同的UI。您还可以将每个模块编译成swc或库文件,并使用编译器参数将它们作为库包含(我忘了是哪一个)。