Flex项目ant编译脚本初探

来源:互联网 发布:淘宝卖水果快递怎么算 编辑:程序博客网 时间:2024/06/06 00:54

 费了九牛二虎之力,终于将我做的项目的ant编译脚本写出来了。这个过程中,遇到一个问题,不大,但是前后弄了快一周。开始先学ant,只不过是将别人的ant脚本copy过来,自己改了改,不成功。做了一个类似的小例子,却可以成功。并且项目在运行ant脚本后,不成功也就罢了,也不提示错误信息。所以根本就不知道是什么错误导致的编译失败。只是运行到下面这一句就结束了。

Loading configuration file C:\Program Files\Adobe\Adobe Flash Builder 4.5\sdks\3.6.0\frameworks\flex-config.xml

就这样,自己找了一天的问题,也没有做出来,然后就搁起来了。

后来,继续研究这个问题,看为什么编译不成功。然后在自己的机器上运用同样的ant脚本的代码,也是编译失败,但是错误信息却报出来了。现在不明白这个问题,为什么同样的ant脚本的错误信息,在一台机器上不能显示出来,而在另外一台机器上就可以呢?现在在猜测是不是ant版本的问题。

下面将ant脚本示例和调试过程中遇到的错误贴出来,希望大家遇到同样问题时可以少走点弯路。

ant脚本示例:

build.xml文件:

<project name="Ant build sample" basedir="." default="main"> <!-- load user configuration properties --> <property file="build.properties" /> <property name="APP_ROOT" value="src"/>  <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar" />  <target name="prepareEnv">         <mkdir dir="${basedir}/build"/> </target> <target name="main"  depends="prepareEnv"> <path id="src.files">    <fileset dir="${src-dir}">            <include name="**/**"/>    </fileset> </path><echo message="${APP_ROOT}"/>    <mxmlc file="${APP_ROOT}/aaaaaa.mxml"                     output="build/aaaaaa.swf"                    actionscript-file-encoding="UTF-8"                    keep-generated-actionscript="false"                    incremental="true"                    >         <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>        <source-path path-element="${FLEX_HOME}/frameworks"/>         <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>        <compiler.source-path path-element="${src-dir}"/>    </mxmlc></target>   </project>
###### Flex Properties ############################### change this path to your flex sdk directory# Use "/" in your directory path e.g. C:/FlexSDK/3.0.0FLEX_HOME=C:/Program Files/Adobe/Adobe Flash Builder 4.5/sdks/3.6.0 ###### Project Properties ########################### src-dir=${basedir}\\src

在编写过程中遇到的问题:

错误一:

Buildfile: E:\workspacefortest\aaaaaa\build.xml  [taskdef] Could not load definitions from resource flexTasks.tasks. It could not be found.prepareEnv:main:     [echo] src BUILD FAILED

这是因为:<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar" />中,classpath路径错误,在这个路径中根本就找不到flexTask.jar文件。应该检查一下"Flex_HOME"路径是否正确。

错误二:

Buildfile: E:\workspacefortest\aaaaaa\build.xmlprepareEnv:main:     [echo] src    [mxmlc] Loading configuration file C:\Program Files\Adobe\Adobe Flash Builder 4.5\sdks\3.6.0\frameworks\flex-config.xml    [mxmlc] Error: unable to open '/src/aaaaaa.mxml'    [mxmlc] Use 'mxmlc -help' for information about using the command line. BUILD FAILEDE:\BPM\workspacefortest11\workspacefortest\aaaaaa\build.xml:25: mxmlc task failed Total time: 657 milliseconds

原因:aaaaaa.mxml文件没有被找到。也就是说“/src/aaaaaa.mxml”路径错误。在此项目中改为“src/aaaaaa.mxml”就可以了。

错误三:

[mxmlc] E:\client\client\src\client\view\rightPanel.mxml(19): Error: unable to resolve 'client/view/assets/up_arrow.gif' for transcoding    [mxmlc]                         [Embed(source="client/view/assets/up_arrow.gif")]    [mxmlc] E:\BPM\client\client\src\client\view\rightPanel.mxml(19): Error: Unable to transcode client/view/assets/up_arrow.gif.    [mxmlc]                         [Embed(source="client/view/assets/up_arrow.gif")] BUILD FAILEDE:\client\client\build.xml:25: mxmlc task failed

原因:图片的路径不正确导致的。

开始的图片的路径是:

[Embed(source="client/view/assets/up_arrow.gif")]

应该改为:

[Embed(source="/client/view/assets/up_arrow.gif")]




转载地址:http://blog.csdn.net/li2008xue2008ling/article/details/7047215

原创粉丝点击