2009-06-11 54 views
0

我們的應用程序有超過15個不同的頂級mxml文件來創建在我們的頁面中使用的單獨控件。如何一次編譯多個獨立的mxml文件?

我們使用Ant來完成我們的自動化構建,並分別爲每個mxml文件調用mxmlc任務(請參閱question 78230類似示例)。但是,爲每個mxml文件單獨運行編譯器已經累計了相當長的時間。我們的編譯時間接近10分鐘,5分鐘用於編譯我們的flex應用程序,5分鐘用於編譯java類的hundreads,構建jar,安裝程序等。每次flex編譯運行都相當快(15-20秒),但它們會累加起來。

有沒有辦法通過一次調用mxmlc來編譯它們全部?

回答

1

加速它的一種方法是編譯除頂層使用compc編入一個大型SWC,然後編譯頂級類並將SWC用作庫。這樣,多於一個應用程序使用的類將只編譯一次。但是,編譯Flex應用程序所花費的時間很大一部分是JVM啓動時間,每個編譯將啓動它自己的JVM(加上一個用於Ant進程)。避免這種情況的一種方法是使用Flex Compiler Shell(fcsh)而不是Ant,但這當然有缺點。另一種方法是嘗試HellFire,它在獨立的永久在線進程中運行編譯器,這意味着不再需要等待JVM啓動。

0
  1. 爲什麼不使用Flex Builder自動編譯所有內容?
  2. mxml文件組件和/或模塊?我認爲mxmlc會自動將它們編譯成主應用程序鏈接的,但我不確定...
+0

它們是模塊。每個編譯成一個獨立的swf文件以顯示在特定頁面上。我們有一部分html/part flex webapp,我們將不同的flex模塊插入不同的頁面。 是否有比完全獨立的mxml文件更好的設計類型的設置? – 2009-06-16 13:50:52