2012-02-07 69 views
0

我從來沒有使用過Flash/BlazeDS或Ant,所以很抱歉,如果這是簡單的。BlazeDS生成的文件導致Flex編譯器失敗

我有一個項目需要開發一些Java代碼。該項目使用Flash和BlazeDS。對於項目的初始構建,運行一個Ant腳本,最終運行我認爲是Flex編譯器的腳本(sdk屬性指向FlashBuilder 4 sdk/4.1.0目錄)。

<exec executable='"@{sdk}/bin/mxmlc.exe"' failonerror="true"> 
    //A bunch of <arg> tags 
</exec> 

這最初運行沒有錯誤。

我完成了項目設置,其中包括在FlashBuilder中連接到BlazeDS。在安裝過程中,更新了一些service和valueObject類(全部以下劃線開頭)。我相信這些只是BlazeDS所生成的文件。

此時一切正常。但是,如果我嘗試再次運行Ant構建腳本,則<exec>將失敗,並顯示以下輸出(我將公司信息屏蔽掉)。

Build error

從我在線閱讀,從螞蟻<exec>錯誤代碼是取決於操作系統。我在Windows 7機器上,並找到supposed error codes。但是,錯誤35不存在。

有沒有人知道錯誤是什麼以及如何解決?我有一個半猜,也許問題在於我使用的FlashBuilder 4.5和生成的BlazeDS文件正在變得不同。我試過更新SDK位置以指向4.5.0和4.5.1文件夾,但沒有運氣。

回答

2
  1. 爲什麼不使用FlexTask(adobe提供Ant任務來封裝mxmlc,compc和asdoc工具)?我可以理解它,當提供的庫不受歡迎時,但這是AS3構建的一種標準。

  2. 錯誤代碼是從mxmlc返回的,正如您正確指出的那樣是Adobe Flex編譯器。但是,編譯器的返回碼沒有意義。你需要實際的編譯器輸出(它打印錯誤種類和位置)。除非您可以正常運行編譯器(以其產生的輸出不會被忽略的方式),否則您可能會花費數天時間來查找錯誤:)如果您堅持使用exec任務,那麼程序的屬性或文件的exec can redirect the output 。也許將其重定向到屬性,然後回顯屬性的內容?

  3. 爲什麼需要使用Blaze生成AS3代碼?它有一個非常差的代碼生成器。自己寫一個可能是一個更好的舉措。

  4. Blaze不會生成帶下劃線的類,除非原始Java類具有下劃線(相當不尋常)。有下劃線的類在由Flex編譯器之類的東西嵌入的資源,內嵌MXML組件,由Flash Builder等

+0

1&3)的原因,我沒有做很多產生一些其他的代碼生成的代碼是比較常見的的東西是因爲公司的標準(不能改變構建腳本等)。它確實很糟糕。 – 2012-02-07 20:45:05

+0

2)我試着重定向輸出,我得到的只是「加載配置文件C:\ BLACKOUT \ sdks \ 4.1.0 \ frameworks \ flex-config.xml」和一些關於「方法標記覆蓋的警告必須覆蓋另一種方法」 (當WAS工作時,這些也在那裏)。 – 2012-02-07 20:45:23

+0

4)那是我從另一位與我一起工作的開發人員那裏得到的。我們的代碼結構似乎是BlazeDS生成_Super_MyBean.as和_MYBeanEntityMetadata.as之類的東西,然後我們在MyBean.as中擴展_Super_MyBean.as(並添加我們需要的任何幫助器方法等)。我相信這與我們在其他項目中對卡宴所做的相似。 – 2012-02-07 20:45:58