无法从资源flexTasks.tasks加载定义。它无法找到

时间:2009-10-23 21:01:37

标签: flex eclipse ant flex3

我正在尝试从Eclipse内部的ANT脚本编译Flex应用程序(CFBuilder,基于Eclipse),我遇到了这个错误:

  
    

无法从资源flexTasks.tasks加载定义。它无法找到。

  

我无法找到任何指示此文件(flexTasks.tasks)应该复制到哪里的指示,如果需要的话。有些地方表明它应该是flexTasks.jar文件的一部分。我尝试过两种不同的东西:

  • 将jar文件复制到ant / plugins / lib文件夹(并重新启动我的CF Builder实例)
  • 根据this page
  • 上的评论建议,在classpath属性中指定广告jar的路径

也没有帮助我克服这个错误。

这是我的构建脚本,供参考:

<project name="Tagging" default="compile-tagging" basedir=".">

    <!-- setup flex compilation capability -->
    <taskdef resource="flexTasks.tasks" />

    <property name="flex.src" value="./src" />
    <property name="flex.bin" value="./bin"/>

    <target name="compile-tagging">
        <mxmlc 
            file="${flex.src}/main.mxml"
            output="${flex.bin}/main.swf" 
            keep-generated-actionscript="true">
                <source-path path-element="${FLEX_HOME}/frameworks" />
        </mxmlc>
    </target>

</project>

5 个答案:

答案 0 :(得分:2)

Adam,我相信你需要告诉taskdef在哪里寻找文件。尝试将flextasks.jar保存在与ant文件相同的目录中(现在......你可以在它运行后再移动它)。

然后,你可以这样做:

<taskdef name="mxmlc" classname="WhateverTheTaskIsNamed" classpath="flexTAsks.jar" />

答案 1 :(得分:2)

虽然不理想,但此代码目前对我有用:

<project name="IOLTagging" default="go" basedir=".">

    <!-- setup flex compilation capability -->
    <property name="FLEX_HOME" value="C:/program files (x86)/Adobe/Adobe Flash Builder Beta 2/sdks/3.4.1/" />
    <taskdef name="mxmlc" classname="flex.ant.MxmlcTask" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar" />
    <taskdef name="html-wrapper" classname="flex.ant.HtmlWrapperTask" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar" />

    <property name="flex.src" value="./src" />
    <property name="flex.bin" value="./bin"/>
    <property name="swf.name" value="main" />

    <target name="go" depends="compile-flex" />

    <target name="compile-flex">
        <mxmlc 
            file="${flex.src}/main.mxml"
            output="${flex.bin}/${swf.name}.swf"
            debug="false" 
            keep-generated-actionscript="false">
                <source-path path-element="${FLEX_HOME}/frameworks" />
                <compiler.library-path dir="${basedir}/libs" append="true">
                    <include name="*.swc" />
                </compiler.library-path>
        </mxmlc>
    </target>
</project>

答案 2 :(得分:2)

我遇到了同样的问题,原因是缺少访问$ FLEX_HOME / ant的权限。

答案 3 :(得分:1)

您也可以将flexTasks.jar放在〜/ .ant / lib目录

如果你运行ant -diagnostics,你应该在USER_HOME / .ant / lib jar列表中看到jar

答案 4 :(得分:-1)

我认为你应该已经解决了这个问题。今天刚试用flexmonkey也遇到了同样的问题。

“无法从资源flexTasks.tasks加载定义。无法找到它。” 解决方案是确保flexTasks.jar包含在项目工作区的目录库中。 当我从flashbuild文件夹\ ant \ lib复制flexTasks.jar并再次构建它时。问题是固定的。