2014-01-17 26 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