2014-01-17 23 views
0

我拿到的时候我只更新了Flex的Web应用程序的SWF文件中的以下错误:'的Flex错误#1001:摘要与RSL不匹配' 的更新时,*只是* Flex的web应用程序

Flex的错误#1001:摘要与RSL不匹配

我明白为什么会发生这种情况(因为RSL的catalog.xml中的摘要与Flex Web应用程序的swf文件所期望的不匹配),但无法找到成功的方法更新Flex Web应用程序。我的问题是,如何使用ANT和Flex 3.6 SDK完成这项工作?

我试图拥有灵活网络应用程序通过设置忽略的摘要值的“计算消化”属性对compc命令标签虚假所有的RSL:执行mxmlc的时候

<compc compiler.as3="true" 
    output="${temp-swc-dir}/@{name}.swc" 
    incremental="false" 
    fork="false" 
    compiler.show-deprecation-warnings="false" 
    compiler.verbose-stacktraces="${VERBOSE}" 
    compute-digest="false" 
    > 

但是,它没有提及关于摘要。有什么需要改变我的mxmlc标签?

<mxmlc file="${target-dir}/@{build-directory}/revolution/src/${SWF_NAME}.mxml" 
    output="${target-dir}/@{build-directory}/${SWF_NAME}.swf" 
    actionscript-file-encoding="UTF-8" 
    keep-generated-actionscript="false" 
    incremental="false" 
    debug="@{qa-build}" 
    fork="false" 
    static-link-runtime-shared-libraries="false" 
    use-network="true" 
    > 

    <runtime-shared-library-path path-element="${target-dir}/@{build-directory}/swc/as3corelib.swc"> 
     <url rsl-url="rsl/as3corelib.swf" /> 
    </runtime-shared-library-path> 

    <runtime-shared-library-path path-element="${target-dir}/@{build-directory}/swc/asx.swc"> 
     <url rsl-url="rsl/asx.swf" /> 
    </runtime-shared-library-path> 

    <runtime-shared-library-path path-element="${target-dir}/@{build-directory}/swc/top-level-tools.swc"> 
     <url rsl-url="rsl/top-level-tools.swf" /> 
    </runtime-shared-library-path> 

    <source-path path-element="${target-dir}/@{build-directory}/revolution/src" /> 

    <!-- list of path elements that form the roots of ActionScript class hierarchies. --> 
    <source-path path-element="${FLEX_HOME}/frameworks" /> 

    <!-- list of SWC files or directories that contain SWC files. --> 
    <compiler.library-path dir="${FLEX_HOME}/frameworks/libs" append="true"> 
     <include name="framework.swc" /> 
    </compiler.library-path> 

    <compiler.library-path dir="${target-dir}/@{build-directory}/swc" append="true"> 
     <include name="*.swc" /> 
    </compiler.library-path> 

    <compiler.library-path dir="${target-dir}/@{build-directory}/revolution/libs" append="true"> 
     <include name="*.swc" /> 
    </compiler.library-path> 

</mxmlc> 

回答

0

我认为Flex带有一个工具来更新摘要。它被称为“摘要”。我在我的Wiki中记录了从第三方SWC库创建RSL所需的步骤......对我来说,看起来您的RSL和SWC不再匹配。 https://dev.c-ware.de/confluence/display/PUBLIC/Creating+RSLs+from+your+3rd+party+libs 所以,如果你只是从你正在使用的SWC创建RSL,你应该是安全的。

+0

感谢您链接该文章,截至昨天我不知道优化器和摘要可执行文件存在。但是我有Flex Web应用程序RSL的源代码。当我的构建脚本运行时,它创建一个SWC,然后MXMLC使用该SWC创建(通过运行时共享库​​路径标记)RSL SWF文件。我的问题是更新服务器上的Flex Web应用程序而不更新RSL SWF文件。如何才能做到这一点? – marckassay