1

アプリケーションを ant およびインクリメンタル ビルドでコンパイルすると、埋め込まれたイメージによって実行時例外が発生します。

[Embed(source="/assets/logo.png")] 
[Bindable] 
public var logo:Class;

<mx:Image source="{logo}" />

のようなものを誘発します

ReferenceError: Error #1065: Variable FileName__embed_mxml__assets_logo_png_2016241504 is not defined.

回避策はインクリメンタル ビルドをオフにすることですが、このソリューションでは、ビルド プロセスに多くの時間がかかります (インクリメンタル ビルドの 3 ~ 4 倍の時間がかかります)。

Flex 4.1 では、この問題は存在せず、Flex 4.6 にアップグレードしようとすると表示されます。

ここに私のantスクリプトの一部があります

<macrodef name="flex-compile-debug">
    <attribute name="mxmlfile" />
    <attribute name="swffile" />
    <sequential>
        <echo>Debug Build</echo>
        <mxmlc file="@{mxmlfile}" output="@{swffile}" 
            debug="true" incremental="true" keep-generated-actionscript="true" 
            services="${dir.webcontent}/WEB-INF/flex/services-config.xml" context-root="/fem"
            locale="fr_FR" static-link-runtime-shared-libraries="false">
            <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml" />
            <define name="CONFIG::fembeta" value="${flex.beta}"/>
            <source-path path-element="${FLEX_HOME}/frameworks" />
            <source-path path-element="${dir.flex.src}/locale/fr_FR"/>

            <compiler.library-path dir="${FLEX_HOME}/frameworks" append="true">
                <include name="libs" />
                <include name="locale" />
            </compiler.library-path>
            <compiler.library-path dir="${dir.webcontent}/WEB-INF/flex" append="true">
                <include name="libs" />
                <include name="locale" />
            </compiler.library-path>
        </mxmlc>
    </sequential>
</macrodef>

ご協力いただきありがとうございます

4

3 に答える 3

0

JAVA_HOME 設定を JDK 1.6.xx (x32) に変更します。それは私を助けました。

于 2015-11-12T08:01:55.443 に答える
0

試してみるいくつかのこと:

1) .actionScriptProperties の targetPlayerVersion を確認します。最低でも 11.1 である必要があります

2) フラッシュコンパイラとバージョンがすべてのファイルに正しく反映されていることを確認します。

3) 上記を実行した後、すべてのライブラリが最初から再コンパイルされていることを確認してから、インクリメンタルに戻ります。

于 2012-10-25T15:01:17.660 に答える