Flex 4 - 样式表中的Ant Invalid Embed指令 - 无法解析源代码(来源="")'

时间:2014-07-23 22:41:14

标签: flex ant

我正在尝试使用ant来构建我的flex项目,但是出现了错误:

Invalid Embed directive in stylesheet - can't resolve source 'Embed(source="/assets/fileNm.jpg")' (File: style.css)

我不知道该怎么做。 请帮帮我。

src
  assets
    css
      style.css
    img
  com

我的ANT任务:

<!-- Complie source-->
<target name="compileBLP" depends="copyAssets">
    <record name="${LOG_FILE}" action="start" append="false" />
    <mxmlc file="${SRC_DIR}/Main.mxml" output="${DEPLOY_DIR}/main.swf">
        <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
        <source-path path-element="${FLEX_HOME}/frameworks"/>
        <compiler.debug>false</compiler.debug>

        <runtime-shared-library-path
            path-element="${FLEX_FRAMEWORK}/framework.swc">
            <url rsl-url="framework_4.1.0.16076.swf"/>
            <url rsl-url="framework_4.1.0.16076.swz"/>
            <url rsl-url="osmf_flex.4.0.0.13495.swf"/>
            <url rsl-url="osmf_flex.4.0.0.13495.swz"/>
            <url rsl-url="rpc_4.1.0.16076.swf"/>
            <url rsl-url="rpc_4.1.0.16076.swz"/>
            <url rsl-url="spark_4.1.0.16076.swf"/>
            <url rsl-url="spark_4.1.0.16076.swz"/>
            <url rsl-url="sparkskins_4.1.0.16076.swf"/>
            <url rsl-url="sparkskins_4.1.0.16076.swz"/>
            <url rsl-url="textLayout_1.1.0.604.swf"/>
            <url rsl-url="textLayout_1.1.0.604.swz"/>
        </runtime-shared-library-path>  

        <compiler.source-path path-element="${SRC_DIR}" />
        <compiler.library-path dir="${FLEX_HOME}/frameworks" append="true">
            <include name="libs" />
        </compiler.library-path>
        <compiler.library-path dir="${basedir}" append="true">
            <include name="libs" />
        </compiler.library-path>
    </mxmlc>
    <record name="${LOG_FILE}" action="stop"/>
</target>

2 个答案:

答案 0 :(得分:0)

对于它的相对与绝对路径相比,Flex总是有点迟钝,在Maven或ANT中加入它只会使问题复杂化。从我在这里可以看出 - 你有src下的assets文件夹和src作为编译器源路径列出,但你的embed指令声称它应该在/ assets找到它。

您可以执行以下操作之一:

  1. 将嵌入指令更新为/ src / assets / img ...
  2. 将embed指令更改为relative:../ assets / img
  3. 将assets文件夹添加为编译器源路径(但是这不应该嵌套在src下)

答案 1 :(得分:0)

我尝试了很多方法,并找到了解决这个问题的方法。

Use: Embed('/assets/img/fileNm.jpg')
Don't use: Embed(source='/assets/img/fileNm.jpg')