2012-02-07 67 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