代码之家  ›  专栏  ›  技术社区  ›  Adam Tuttle

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

  •  2
  • Adam Tuttle  · 技术社区  · 15 年前

    我正试图从Eclipse内部的Ant脚本编译一个Flex应用程序。( CFBuilder ,基于Eclipse),我遇到了以下错误:

    无法从资源flextasks.tasks加载定义。找不到。

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

    • 将JAR文件复制到ant/plugins/lib文件夹(并重新启动我的CF Builder实例)
    • 在中指定jar的路径 classpath 属性,如 this page

    也不能帮助我克服这个错误。

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

    <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 回复  |  直到 13 年前
        1
  •  2
  •   marc esher    15 年前

    亚当,我相信你需要告诉taskdef在哪里查找文件。尝试将flextasks.jar保存在与Ant文件相同的目录中(目前…你可以在工作之后再移动它)。

    然后,您可以这样做:

    <taskdef name="mxmlc" classname="WhateverTheTaskIsNamed" classpath="flexTAsks.jar" />
    
        2
  •  2
  •   Adam Tuttle    15 年前

    虽然不理想,但目前这段代码对我有效:

    <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>
    
        3
  •  2
  •   weekens    13 年前

    我也有同样的问题,原因是没有访问$flex_home/ant的权限。

        4
  •  1
  •   Steve D.    13 年前

    还可以将flextasks.jar放在~/.ant/lib目录中

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

        5
  •  -1
  •   leqiang    14 年前

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

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