使用ANT构建的SWF与基于Eclipse构建的大小不同

时间:2011-04-28 18:58:43

标签: eclipse flex ant build

我正在使用带有Flex插件的Eclipse来构建一个驻留在EAR中的Flex应用程序。当Eclipse构建SWF文件,并且我在我的应用服务器上部署EAR时,它工作得很好。但是现在我需要创建一个竹子计划来自动化这个版本。但ANT正在生成具有不同尺寸,更小的相同SWF文件。然后,当我尝试在我的应用服务器上部署EAR时,我遇到了错误:

  

引起:   flex.messaging.config.ConfigurationException:   实例化应用程序作用域时出错   类型的实例   'com.pitel.corporate.bo.RemoteReflection'   目的地'remoteReflection'。     在   flex.messaging.factories.JavaFactory.createFactoryInstance(JavaFactory.java:143)     在   flex.messaging.FactoryDe​​stination.createFactoryInstance(FactoryDe​​stination.java:252)     在   flex.messaging.FactoryDe​​stination.getFactoryInstance(FactoryDe​​stination.java:235)     在   flex.messaging.FactoryDe​​stination.getFactoryInstance(FactoryDe​​stination.java:223)     在   flex.messaging.services.remoting.adapters.JavaAdapter.validateInstanceSettings(JavaAdapter.java:534)     在   flex.messaging.services.remoting.adapters.JavaAdapter.start(JavaAdapter.java:346)     在   flex.messaging.Destination.start(Destination.java:255)     在   flex.messaging.services.AbstractService.startDestinations(AbstractService.java:649)     在   flex.messaging.services.AbstractService.start(AbstractService.java:172)     在   flex.messaging.MessageBroker.startServices(MessageBroker.java:1351)     在   flex.messaging.MessageBroker.start(MessageBroker.java:277)     ......还有21个

而且我真的知道问题出在这个SWF文件中,因为当我使用EAR工作正常,但是用我用ANT构建的Eclipse改变SWF文件时,它会停止工作。

ANT正在构建SWF:

<target name="flex" depends="copyImgs">
        <mxmlc file="${flex.dir}/Pitel.mxml" 
            debug="true"
            keep-generated-actionscript="true"
            compiler.show-actionscript-warnings="true"
            compiler.show-binding-warnings="true"
            compiler.show-unused-type-selector-warnings="false"
            strict="true"
            services="C:/Repositorio/Pitel/Web_FlexVersion/PitelWeb/WebContent/WEB-INF/flex/services-config.xml" locale="en_US">
            <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
            <compiler.include-libraries dir="${basedir}/libs" append="true">
                <include name="DashboardLayout.swc" />
            </compiler.include-libraries>
            <source-path path-element="${FLEX_HOME}/frameworks"/>
            <source-path path-element="${flex.dir}"/>
        </mxmlc>
</target>

如果我可以从Eclipse导出ANT文件以查看它是如何构建SWF文件的,那么我可以理解如何正确设置我的build.xml

任何人都知道发生了什么事情?

由于

1 个答案:

答案 0 :(得分:0)

尝试在 mxmlc

中添加这些属性
output="${my.swf}"
actionscript-file-encoding="UTF-8"
keep-generated-actionscript="true"
incremental="true"

已编辑:详细信息

默认情况下 FlexBuilder 增量 true 命令行编译 false >

并设置

keep-generated-actionscript true 编译器不会删除为生成最终SWF而生成的文件,这可能会导致文件大小不同。

请检查Flex Application Compiler Options

希望有所帮助